summaryrefslogtreecommitdiffstats
path: root/sys/msdosfs
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2020-06-08 08:04:09 +0000
committermpi <mpi@openbsd.org>2020-06-08 08:04:09 +0000
commit6e29a9444098b33c28a7ce5b32b593b9539d7294 (patch)
tree7e312cdeb58db6aaa4acfb1748b3f0d5119637e5 /sys/msdosfs
parentupdate drm to linux 5.7 (diff)
downloadwireguard-openbsd-6e29a9444098b33c28a7ce5b32b593b9539d7294.tar.xz
wireguard-openbsd-6e29a9444098b33c28a7ce5b32b593b9539d7294.zip
Use a new EV_OLDAPI flag to match the behavior of poll(2) and select(2).
Adapt FS kqfilters to always return true when the flag is set and bypass the polling mechanism of the NFS thread. While here implement a write filter for NFS. ok visa@
Diffstat (limited to 'sys/msdosfs')
-rw-r--r--sys/msdosfs/msdosfs_vnops.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c
index fc46268052e..ae939b18649 100644
--- a/sys/msdosfs/msdosfs_vnops.c
+++ b/sys/msdosfs/msdosfs_vnops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: msdosfs_vnops.c,v 1.132 2020/04/07 13:27:52 visa Exp $ */
+/* $OpenBSD: msdosfs_vnops.c,v 1.133 2020/06/08 08:04:09 mpi Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.63 1997/10/17 11:24:19 ws Exp $ */
/*-
@@ -2013,6 +2013,10 @@ filt_msdosfsread(struct knote *kn, long hint)
kn->kn_fflags |= NOTE_EOF;
return (1);
}
+
+ if (kn->kn_flags & EV_OLDAPI)
+ return (1);
+
return (kn->kn_data != 0);
}