Remove the remnants of the leftover selinfo from vnode(9) layer. Just
mechanical replacement because knote(9) API is already used. I don't
want make klist MP safe with this diff.
<sys/selinfo.h> headers added where is was required. Disabled tmpsfs was
also tested.
ok?
Index: sys/dev/hotplug.c
===================================================================
RCS file: /cvs/src/sys/dev/hotplug.c,v
retrieving revision 1.22
diff -u -p -r1.22 hotplug.c
--- sys/dev/hotplug.c 2 Jul 2022 08:50:41 -0000 1.22
+++ sys/dev/hotplug.c 7 Sep 2023 18:50:50 -0000
@@ -26,6 +26,7 @@
#include <sys/hotplug.h>
#include <sys/ioctl.h>
#include <sys/vnode.h>
+#include <sys/selinfo.h>
#define HOTPLUG_MAXEVENTS 64
Index: sys/dev/wscons/wseventvar.h
===================================================================
RCS file: /cvs/src/sys/dev/wscons/wseventvar.h,v
retrieving revision 1.11
diff -u -p -r1.11 wseventvar.h
--- sys/dev/wscons/wseventvar.h 2 Jul 2022 08:50:42 -0000 1.11
+++ sys/dev/wscons/wseventvar.h 7 Sep 2023 18:50:51 -0000
@@ -72,6 +72,7 @@
*/
#include <sys/sigio.h>
+#include <sys/selinfo.h>
/*
* Internal "wscons_event" queue interface for the keyboard and mouse drivers.
Index: sys/isofs/cd9660/cd9660_vnops.c
===================================================================
RCS file: /cvs/src/sys/isofs/cd9660/cd9660_vnops.c,v
retrieving revision 1.94
diff -u -p -r1.94 cd9660_vnops.c
--- sys/isofs/cd9660/cd9660_vnops.c 8 Mar 2023 04:43:08 -0000 1.94
+++ sys/isofs/cd9660/cd9660_vnops.c 7 Sep 2023 18:50:51 -0000
@@ -961,7 +961,7 @@ cd9660_kqfilter(void *v)
kn->kn_hook = (caddr_t)vp;
- klist_insert_locked(&vp->v_selectinfo.si_note, kn);
+ klist_insert_locked(&vp->v_klist, kn);
return (0);
}
@@ -971,7 +971,7 @@ filt_cd9660detach(struct knote *kn)
{
struct vnode *vp = (struct vnode *)kn->kn_hook;
- klist_remove_locked(&vp->v_selectinfo.si_note, kn);
+ klist_remove_locked(&vp->v_klist, kn);
}
int
Index: sys/miscfs/fuse/fuse_device.c
===================================================================
RCS file: /cvs/src/sys/miscfs/fuse/fuse_device.c,v
retrieving revision 1.38
diff -u -p -r1.38 fuse_device.c
--- sys/miscfs/fuse/fuse_device.c 29 Aug 2022 06:08:04 -0000 1.38
+++ sys/miscfs/fuse/fuse_device.c 7 Sep 2023 18:50:51 -0000
@@ -25,6 +25,7 @@
#include <sys/statvfs.h>
#include <sys/vnode.h>
#include <sys/fusebuf.h>
+#include <sys/selinfo.h>
#include "fusefs_node.h"
#include "fusefs.h"
Index: sys/miscfs/fuse/fuse_vnops.c
===================================================================
RCS file: /cvs/src/sys/miscfs/fuse/fuse_vnops.c,v
retrieving revision 1.66
diff -u -p -r1.66 fuse_vnops.c
--- sys/miscfs/fuse/fuse_vnops.c 26 Jun 2022 05:20:42 -0000 1.66
+++ sys/miscfs/fuse/fuse_vnops.c 7 Sep 2023 18:50:51 -0000
@@ -154,7 +154,7 @@ fusefs_kqfilter(void *v)
kn->kn_hook = (caddr_t)vp;
- klist_insert_locked(&vp->v_selectinfo.si_note, kn);
+ klist_insert_locked(&vp->v_klist, kn);
return (0);
}
@@ -164,7 +164,7 @@ filt_fusefsdetach(struct knote *kn)
{
struct vnode *vp = (struct vnode *)kn->kn_hook;
- klist_remove_locked(&vp->v_selectinfo.si_note, kn);
+ klist_remove_locked(&vp->v_klist, kn);
}
int
Index: sys/msdosfs/msdosfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/msdosfs/msdosfs_vnops.c,v
retrieving revision 1.139
diff -u -p -r1.139 msdosfs_vnops.c
--- sys/msdosfs/msdosfs_vnops.c 23 Aug 2022 20:37:16 -0000 1.139
+++ sys/msdosfs/msdosfs_vnops.c 7 Sep 2023 18:50:51 -0000
@@ -1970,7 +1970,7 @@ msdosfs_kqfilter(void *v)
kn->kn_hook = (caddr_t)vp;
- klist_insert_locked(&vp->v_selectinfo.si_note, kn);
+ klist_insert_locked(&vp->v_klist, kn);
return (0);
}
@@ -1980,7 +1980,7 @@ filt_msdosfsdetach(struct knote *kn)
{
struct vnode *vp = (struct vnode *)kn->kn_hook;
- klist_remove_locked(&vp->v_selectinfo.si_note, kn);
+ klist_remove_locked(&vp->v_klist, kn);
}
int
Index: sys/nfs/nfs_kq.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_kq.c,v
retrieving revision 1.35
diff -u -p -r1.35 nfs_kq.c
--- sys/nfs/nfs_kq.c 8 Mar 2023 04:43:09 -0000 1.35
+++ sys/nfs/nfs_kq.c 7 Sep 2023 18:50:51 -0000
@@ -185,7 +185,7 @@ filt_nfsdetach(struct knote *kn)
{
struct vnode *vp = (struct vnode *)kn->kn_hook;
- klist_remove_locked(&vp->v_selectinfo.si_note, kn);
+ klist_remove_locked(&vp->v_klist, kn);
/* Remove the vnode from watch list */
if ((kn->kn_flags & (__EV_POLL | __EV_SELECT)) == 0)
@@ -342,7 +342,7 @@ nfs_kqfilter(void *v)
return (error);
}
- klist_insert_locked(&vp->v_selectinfo.si_note, kn);
+ klist_insert_locked(&vp->v_klist, kn);
return (0);
}
Index: sys/sys/vnode.h
===================================================================
RCS file: /cvs/src/sys/sys/vnode.h,v
retrieving revision 1.168
diff -u -p -r1.168 vnode.h
--- sys/sys/vnode.h 10 Feb 2023 14:34:17 -0000 1.168
+++ sys/sys/vnode.h 7 Sep 2023 18:50:51 -0000
@@ -38,7 +38,7 @@
#include <sys/buf.h>
#include <sys/types.h>
#include <sys/queue.h>
-#include <sys/selinfo.h>
+#include <sys/event.h>
#include <sys/tree.h>
/*
@@ -127,7 +127,7 @@ struct vnode {
TAILQ_HEAD(, namecache) v_cache_dst; /* cache entries to us */
void *v_data; /* private data for fs */
- struct selinfo v_selectinfo; /* identity of poller(s) */
+ struct klist v_klist; /* identity of poller(s) */
};
#define v_mountedhere v_un.vu_mountedhere
#define v_socket v_un.vu_socket
@@ -246,7 +246,7 @@ extern int vttoif_tab[];
#define VATTR_NULL(vap) vattr_null(vap)
#define NULLVP ((struct vnode *)NULL)
#define VN_KNOTE(vp, b) \
- knote_locked(&vp->v_selectinfo.si_note, (b))
+ knote_locked(&vp->v_klist, (b))
/*
* Global vnode data.
Index: sys/tmpfs/tmpfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/tmpfs/tmpfs_vnops.c,v
retrieving revision 1.52
diff -u -p -r1.52 tmpfs_vnops.c
--- sys/tmpfs/tmpfs_vnops.c 26 Jun 2022 05:20:42 -0000 1.52
+++ sys/tmpfs/tmpfs_vnops.c 7 Sep 2023 18:50:51 -0000
@@ -2627,7 +2627,7 @@ tmpfs_kqfilter(void *v)
kn->kn_hook = (caddr_t)vp;
- klist_insert_locked(&vp->v_selectinfo.si_note, kn);
+ klist_insert_locked(&vp->v_klist, kn);
return (0);
}
@@ -2637,7 +2637,7 @@ filt_tmpfsdetach(struct knote *kn)
{
struct vnode *vp = (struct vnode *)kn->kn_hook;
- klist_remove_locked(&vp->v_selectinfo.si_note, kn);
+ klist_remove_locked(&vp->v_klist, kn);
}
int
Index: sys/ufs/ufs/ufs_vnops.c
===================================================================
RCS file: /cvs/src/sys/ufs/ufs/ufs_vnops.c,v
retrieving revision 1.157
diff -u -p -r1.157 ufs_vnops.c
--- sys/ufs/ufs/ufs_vnops.c 8 Mar 2023 04:43:09 -0000 1.157
+++ sys/ufs/ufs/ufs_vnops.c 7 Sep 2023 18:50:51 -0000
@@ -1921,7 +1921,7 @@ ufs_kqfilter(void *v)
kn->kn_hook = (caddr_t)vp;
- klist_insert_locked(&vp->v_selectinfo.si_note, kn);
+ klist_insert_locked(&vp->v_klist, kn);
return (0);
}
@@ -1931,7 +1931,7 @@ filt_ufsdetach(struct knote *kn)
{
struct vnode *vp = (struct vnode *)kn->kn_hook;
- klist_remove_locked(&vp->v_selectinfo.si_note, kn);
+ klist_remove_locked(&vp->v_klist, kn);
}
int