Hi, The following diff removes vnode_hold_list, vnode_free_list extern references, and `struct freelst` definition from sys/vnode.h
`struct freelst` definition (TAILQ_HEAD) is moved where used, inside vfs_subr.c. Kernel (GENERIC.MP i386) still build (and run). No usage found via grep on whole tree. Full release(8) build is pending. No intented behaviour changes. Comments or OK ? -- Sebastien Marie Index: kern/vfs_subr.c =================================================================== RCS file: /cvs/src/sys/kern/vfs_subr.c,v retrieving revision 1.314 diff -u -p -r1.314 vfs_subr.c --- kern/vfs_subr.c 25 Jan 2022 04:04:40 -0000 1.314 +++ kern/vfs_subr.c 27 Mar 2022 12:56:20 -0000 @@ -98,6 +98,7 @@ int suid_clear = 1; /* 1 => clear SUID LIST_NEXT(bp, b_vnbufs) = NOLIST; \ } +TAILQ_HEAD(freelst, vnode); struct freelst vnode_hold_list; /* list of vnodes referencing buffers */ struct freelst vnode_free_list; /* vnode free list */ Index: sys/vnode.h =================================================================== RCS file: /cvs/src/sys/sys/vnode.h,v retrieving revision 1.163 diff -u -p -r1.163 vnode.h --- sys/vnode.h 12 Dec 2021 09:14:59 -0000 1.163 +++ sys/vnode.h 27 Mar 2022 12:56:20 -0000 @@ -243,10 +243,6 @@ extern int vttoif_tab[]; #define REVOKEALL 0x0001 /* vop_revoke: revoke all aliases */ -TAILQ_HEAD(freelst, vnode); -extern struct freelst vnode_hold_list; /* free vnodes referencing buffers */ -extern struct freelst vnode_free_list; /* vnode free list */ - #define VATTR_NULL(vap) vattr_null(vap) #define NULLVP ((struct vnode *)NULL) #define VN_KNOTE(vp, b) \