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

Reply via email to