Hi,

After reading VOP_LOOKUP.9 based on recent commit, a try to remove some dead 
code in VFS.
https://marc.info/?l=openbsd-cvs&m=153886730207657&w=2

VFSLCKDEBUG is not defined anywhere. It is misleading to read in 
sys/kern/vfs_vops.c that ASSERT_VP_ISLOCKED(dvp) is being checked, when in 
fact, it is just dead code.

Please review and comment!
Thanks


diff --git sys/kern/vfs_subr.c sys/kern/vfs_subr.c
index b89037e499a..2d09c6446c8 100644
--- sys/kern/vfs_subr.c
+++ sys/kern/vfs_subr.c
@@ -1049,9 +1049,6 @@ vclean(struct vnode *vp, int flags, struct proc *p)
        VN_KNOTE(vp, NOTE_REVOKE);
        vp->v_tag = VT_NON;
        vp->v_flag &= ~VXLOCK;
-#ifdef VFSLCKDEBUG
-       vp->v_flag &= ~VLOCKSWORK;
-#endif
        if (vp->v_flag & VXWANT) {
                vp->v_flag &= ~VXWANT;
                wakeup(vp);
@@ -1886,11 +1883,6 @@ vinvalbuf(struct vnode *vp, int flags, struct ucred 
*cred, struct proc *p,
        struct buf *nbp, *blist;
        int s, error;
 
-#ifdef VFSLCKDEBUG
-       if ((vp->v_flag & VLOCKSWORK) && !VOP_ISLOCKED(vp))
-               panic("%s: vp isn't locked, vp %p", __func__, vp);
-#endif
-
        if (flags & V_SAVE) {
                s = splbio();
                vwaitforio(vp, 0, "vinvalbuf", 0);
diff --git sys/kern/vfs_vops.c sys/kern/vfs_vops.c
index 32fcb4a24cc..c1996e1e4a8 100644
--- sys/kern/vfs_vops.c
+++ sys/kern/vfs_vops.c
@@ -47,19 +47,6 @@
 #include <sys/unistd.h>
 #include <sys/systm.h>
 
-#ifdef VFSLCKDEBUG
-#include <sys/systm.h>         /* for panic() */
-
-#define ASSERT_VP_ISLOCKED(vp) do {                            \
-       if (((vp)->v_flag & VLOCKSWORK) && !VOP_ISLOCKED(vp)) { \
-               VOP_PRINT(vp);                                  \
-               panic("vp not locked");                         \
-       }                                                       \
-} while (0)
-#else
-#define ASSERT_VP_ISLOCKED(vp)  /* nothing */
-#endif
-
 int
 VOP_ISLOCKED(struct vnode *vp)
 {
@@ -102,8 +89,6 @@ VOP_CREATE(struct vnode *dvp, struct vnode **vpp,
        a.a_cnp = cnp;
        a.a_vap = vap;
 
-       ASSERT_VP_ISLOCKED(dvp);
-
        if (dvp->v_op->vop_create == NULL)
                return (EOPNOTSUPP);
 
@@ -124,8 +109,6 @@ VOP_MKNOD(struct vnode *dvp, struct vnode **vpp,
        a.a_cnp = cnp;
        a.a_vap = vap;
 
-       ASSERT_VP_ISLOCKED(dvp);
-
        if (dvp->v_op->vop_mknod == NULL)
                return (EOPNOTSUPP);
 
@@ -164,8 +147,6 @@ VOP_CLOSE(struct vnode *vp, int fflag, struct ucred *cred, 
struct proc *p)
        a.a_cred = cred;
        a.a_p = p;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_close == NULL)
                return (EOPNOTSUPP);
 
@@ -184,8 +165,6 @@ VOP_ACCESS(struct vnode *vp, int mode, struct ucred *cred, 
struct proc *p)
        a.a_cred = cred;
        a.a_p = p;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_access == NULL)
                return (EOPNOTSUPP);
 
@@ -219,8 +198,6 @@ VOP_SETATTR(struct vnode *vp, struct vattr *vap, struct 
ucred *cred,
        a.a_cred = cred;
        a.a_p = p;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_setattr == NULL)
                return (EOPNOTSUPP);
 
@@ -239,8 +216,6 @@ VOP_READ(struct vnode *vp, struct uio *uio, int ioflag, 
struct ucred *cred)
        a.a_ioflag = ioflag;
        a.a_cred = cred;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_read == NULL)
                return (EOPNOTSUPP);
 
@@ -258,8 +233,6 @@ VOP_WRITE(struct vnode *vp, struct uio *uio, int ioflag,
        a.a_ioflag = ioflag;
        a.a_cred = cred;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_write == NULL)
                return (EOPNOTSUPP);
 
@@ -343,8 +316,6 @@ VOP_FSYNC(struct vnode *vp, struct ucred *cred, int waitfor,
        a.a_waitfor = waitfor;
        a.a_p = p;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_fsync == NULL)
                return (EOPNOTSUPP);
 
@@ -363,9 +334,6 @@ VOP_REMOVE(struct vnode *dvp, struct vnode *vp, struct 
componentname *cnp)
         a.a_vp = vp;
        a.a_cnp = cnp;
 
-       ASSERT_VP_ISLOCKED(dvp);
-       ASSERT_VP_ISLOCKED(vp);
-
        if (dvp->v_op->vop_remove == NULL)
                return (EOPNOTSUPP);
 
@@ -384,8 +352,6 @@ VOP_LINK(struct vnode *dvp, struct vnode *vp, struct 
componentname *cnp)
        a.a_vp = vp;
        a.a_cnp = cnp;
 
-       ASSERT_VP_ISLOCKED(dvp);
-
        if (dvp->v_op->vop_link == NULL)
                return (EOPNOTSUPP);
 
@@ -411,8 +377,6 @@ VOP_RENAME(struct vnode *fdvp, struct vnode *fvp,
        a.a_tvp = tvp;
        a.a_tcnp = tcnp;
 
-       ASSERT_VP_ISLOCKED(tdvp);
-
        if (fdvp->v_op->vop_rename == NULL) 
                return (EOPNOTSUPP);
 
@@ -435,8 +399,6 @@ VOP_MKDIR(struct vnode *dvp, struct vnode **vpp,
        a.a_cnp = cnp;
        a.a_vap = vap;
 
-       ASSERT_VP_ISLOCKED(dvp);
-
        if (dvp->v_op->vop_mkdir == NULL)
                return (EOPNOTSUPP);
 
@@ -455,9 +417,6 @@ VOP_RMDIR(struct vnode *dvp, struct vnode *vp, struct 
componentname *cnp)
        a.a_vp = vp;
        a.a_cnp = cnp;
 
-       ASSERT_VP_ISLOCKED(dvp);
-       ASSERT_VP_ISLOCKED(vp);
-
        KASSERT(dvp != vp);
 
        if (dvp->v_op->vop_rmdir == NULL)
@@ -483,8 +442,6 @@ VOP_SYMLINK(struct vnode *dvp, struct vnode **vpp,
        a.a_vap = vap;
        a.a_target = target;
 
-       ASSERT_VP_ISLOCKED(dvp);
-
        if (dvp->v_op->vop_symlink == NULL)
                return (EOPNOTSUPP);
 
@@ -505,8 +462,6 @@ VOP_READDIR(struct vnode *vp, struct uio *uio, struct ucred 
*cred,
        a.a_cred = cred;
        a.a_eofflag = eofflag;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_readdir == NULL)
                return (EOPNOTSUPP);
 
@@ -525,8 +480,6 @@ VOP_READLINK(struct vnode *vp, struct uio *uio, struct 
ucred *cred)
        a.a_uio = uio;
        a.a_cred = cred;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_readlink == NULL)
                return (EOPNOTSUPP);
 
@@ -560,8 +513,6 @@ VOP_INACTIVE(struct vnode *vp, struct proc *p)
        a.a_vp = vp;
        a.a_p = p;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_inactive == NULL)
                return (EOPNOTSUPP);
 
@@ -625,8 +576,6 @@ VOP_BMAP(struct vnode *vp, daddr_t bn, struct vnode **vpp,
        a.a_bnp = bnp;
        a.a_runp = runp;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_bmap == NULL)
                return (EOPNOTSUPP);
 
@@ -672,8 +621,6 @@ VOP_PATHCONF(struct vnode *vp, int name, register_t *retval)
        a.a_name = name;
        a.a_retval = retval;
 
-       ASSERT_VP_ISLOCKED(vp);
-
        if (vp->v_op->vop_pathconf == NULL)
                return (EOPNOTSUPP);
 
diff --git sys/nfs/nfs_node.c sys/nfs/nfs_node.c
index 155426e3666..fd33a71065b 100644
--- sys/nfs/nfs_node.c
+++ sys/nfs/nfs_node.c
@@ -133,9 +133,6 @@ loop:
        }
 
        vp = nvp;
-#ifdef VFSLCKDEBUG
-       vp->v_flag |= VLOCKSWORK;
-#endif
        rrw_init_flags(&np->n_lock, "nfsnode", RWL_DUPOK | RWL_IS_VNODE);
        vp->v_data = np;
        /* we now have an nfsnode on this vnode */
diff --git sys/sys/vnode.h sys/sys/vnode.h
index 44ed35962f8..500b6a5dafe 100644
--- sys/sys/vnode.h
+++ sys/sys/vnode.h
@@ -140,7 +140,6 @@ struct vnode {
 #define        VCLONED         0x0400  /* vnode was cloned */
 #define        VALIASED        0x0800  /* vnode has an alias */
 #define        VLARVAL         0x1000  /* vnode data not yet set up by higher 
level */
-#define        VLOCKSWORK      0x4000  /* FS supports locking discipline */
 #define        VCLONE          0x8000  /* vnode is a clone */
 
 /*
diff --git sys/ufs/ext2fs/ext2fs_subr.c sys/ufs/ext2fs/ext2fs_subr.c
index d859d216b40..dc20e6494c1 100644
--- sys/ufs/ext2fs/ext2fs_subr.c
+++ sys/ufs/ext2fs/ext2fs_subr.c
@@ -170,9 +170,6 @@ ext2fs_vinit(struct mount *mp, struct vnode **vpp)
                        nvp->v_data = vp->v_data;
                        vp->v_data = NULL;
                        vp->v_op = &spec_vops;
-#ifdef VFSLCKDEBUG
-                       vp->v_flag &= ~VLOCKSWORK;
-#endif
                        vrele(vp);
                        vgone(vp);
                        /* Reinitialize aliased vnode. */
diff --git sys/ufs/ffs/ffs_subr.c sys/ufs/ffs/ffs_subr.c
index 2aedef06acf..abd8a784c08 100644
--- sys/ufs/ffs/ffs_subr.c
+++ sys/ufs/ffs/ffs_subr.c
@@ -272,9 +272,6 @@ ffs_vinit(struct mount *mntp, struct vnode **vpp)
                        nvp->v_data = vp->v_data;
                        vp->v_data = NULL;
                        vp->v_op = &spec_vops;
-#ifdef VFSLCKDEBUG
-                       vp->v_flag &= ~VLOCKSWORK;
-#endif
                        vrele(vp);
                        vgone(vp);
                        /*
diff --git sys/ufs/ffs/ffs_vfsops.c sys/ufs/ffs/ffs_vfsops.c
index 41532f35faf..dc609242386 100644
--- sys/ufs/ffs/ffs_vfsops.c
+++ sys/ufs/ffs/ffs_vfsops.c
@@ -1329,9 +1329,6 @@ retry:
                return (error);
        }
 
-#ifdef VFSLCKDEBUG
-       vp->v_flag |= VLOCKSWORK;
-#endif
        ip = pool_get(&ffs_ino_pool, PR_WAITOK|PR_ZERO);
        rrw_init_flags(&ip->i_lock, "inode", RWL_DUPOK | RWL_IS_VNODE);
        ip->i_ump = ump;
diff --git sys/uvm/uvm_vnode.c sys/uvm/uvm_vnode.c
index 3803d31db7b..ade21ebdac6 100644
--- sys/uvm/uvm_vnode.c
+++ sys/uvm/uvm_vnode.c
@@ -1306,15 +1306,6 @@ uvm_vnp_uncache(struct vnode *vp)
        vref(vp);                       /* seems ok, even with VOP_LOCK */
        uvn->u_obj.uo_refs++;           /* value is now 1 */
 
-#ifdef VFSLCKDEBUG
-       /*
-        * carry over sanity check from old vnode pager: the vnode should
-        * be VOP_LOCK'd, and we confirm it here.
-        */
-       if ((vp->v_flag & VLOCKSWORK) && !VOP_ISLOCKED(vp))
-               panic("uvm_vnp_uncache: vnode not locked!");
-#endif
-
        /*
         * now drop our reference to the vnode.   if we have the sole
         * reference to the vnode then this will cause it to die [as we

Reply via email to