add islocked vnode op
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 16 Jan 1990 10:39:34 +0000 (02:39 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 16 Jan 1990 10:39:34 +0000 (02:39 -0800)
SCCS-vsn: sys/ufs/ffs/ffs_vnops.c 7.29
SCCS-vsn: sys/ufs/ffs/ufs_vnops.c 7.29
SCCS-vsn: sys/ufs/lfs/lfs_vnops.c 7.29
SCCS-vsn: sys/ufs/ufs/ufs_vnops.c 7.29
SCCS-vsn: sys/ufs/mfs/mfs_vnops.c 7.14

usr/src/sys/ufs/ffs/ffs_vnops.c
usr/src/sys/ufs/ffs/ufs_vnops.c
usr/src/sys/ufs/lfs/lfs_vnops.c
usr/src/sys/ufs/mfs/mfs_vnops.c
usr/src/sys/ufs/ufs/ufs_vnops.c

index 131c2ee..b20c9e1 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)ffs_vnops.c 7.28 (Berkeley) %G%
+ *     @(#)ffs_vnops.c 7.29 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -69,7 +69,8 @@ int   ufs_lookup(),
        ufs_unlock(),
        ufs_bmap(),
        ufs_strategy(),
        ufs_unlock(),
        ufs_bmap(),
        ufs_strategy(),
-       ufs_print();
+       ufs_print(),
+       ufs_islocked();
 
 struct vnodeops ufs_vnodeops = {
        ufs_lookup,             /* lookup */
 
 struct vnodeops ufs_vnodeops = {
        ufs_lookup,             /* lookup */
@@ -103,6 +104,7 @@ struct vnodeops ufs_vnodeops = {
        ufs_bmap,               /* bmap */
        ufs_strategy,           /* strategy */
        ufs_print,              /* print */
        ufs_bmap,               /* bmap */
        ufs_strategy,           /* strategy */
        ufs_print,              /* print */
+       ufs_islocked,           /* islocked */
 };
 
 int    spec_lookup(),
 };
 
 int    spec_lookup(),
@@ -149,6 +151,7 @@ struct vnodeops spec_inodeops = {
        spec_bmap,              /* bmap */
        spec_strategy,          /* strategy */
        ufs_print,              /* print */
        spec_bmap,              /* bmap */
        spec_strategy,          /* strategy */
        ufs_print,              /* print */
+       ufs_islocked,           /* islocked */
 };
 
 enum vtype iftovt_tab[8] = {
 };
 
 enum vtype iftovt_tab[8] = {
@@ -1247,6 +1250,9 @@ ufs_abortop(ndp)
        return;
 }
 
        return;
 }
 
+/*
+ * Lock an inode.
+ */
 ufs_lock(vp)
        struct vnode *vp;
 {
 ufs_lock(vp)
        struct vnode *vp;
 {
@@ -1256,6 +1262,9 @@ ufs_lock(vp)
        return (0);
 }
 
        return (0);
 }
 
+/*
+ * Unlock an inode.
+ */
 ufs_unlock(vp)
        struct vnode *vp;
 {
 ufs_unlock(vp)
        struct vnode *vp;
 {
@@ -1267,6 +1276,18 @@ ufs_unlock(vp)
        return (0);
 }
 
        return (0);
 }
 
+/*
+ * Check for a locked inode.
+ */
+ufs_islocked(vp)
+       struct vnode *vp;
+{
+
+       if (VTOI(vp)->i_flag & ILOCKED)
+               return (1);
+       return (0);
+}
+
 /*
  * Get access to bmap
  */
 /*
  * Get access to bmap
  */
index d869e95..1eeafb2 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)ufs_vnops.c 7.28 (Berkeley) %G%
+ *     @(#)ufs_vnops.c 7.29 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -69,7 +69,8 @@ int   ufs_lookup(),
        ufs_unlock(),
        ufs_bmap(),
        ufs_strategy(),
        ufs_unlock(),
        ufs_bmap(),
        ufs_strategy(),
-       ufs_print();
+       ufs_print(),
+       ufs_islocked();
 
 struct vnodeops ufs_vnodeops = {
        ufs_lookup,             /* lookup */
 
 struct vnodeops ufs_vnodeops = {
        ufs_lookup,             /* lookup */
@@ -103,6 +104,7 @@ struct vnodeops ufs_vnodeops = {
        ufs_bmap,               /* bmap */
        ufs_strategy,           /* strategy */
        ufs_print,              /* print */
        ufs_bmap,               /* bmap */
        ufs_strategy,           /* strategy */
        ufs_print,              /* print */
+       ufs_islocked,           /* islocked */
 };
 
 int    spec_lookup(),
 };
 
 int    spec_lookup(),
@@ -149,6 +151,7 @@ struct vnodeops spec_inodeops = {
        spec_bmap,              /* bmap */
        spec_strategy,          /* strategy */
        ufs_print,              /* print */
        spec_bmap,              /* bmap */
        spec_strategy,          /* strategy */
        ufs_print,              /* print */
+       ufs_islocked,           /* islocked */
 };
 
 enum vtype iftovt_tab[8] = {
 };
 
 enum vtype iftovt_tab[8] = {
@@ -1247,6 +1250,9 @@ ufs_abortop(ndp)
        return;
 }
 
        return;
 }
 
+/*
+ * Lock an inode.
+ */
 ufs_lock(vp)
        struct vnode *vp;
 {
 ufs_lock(vp)
        struct vnode *vp;
 {
@@ -1256,6 +1262,9 @@ ufs_lock(vp)
        return (0);
 }
 
        return (0);
 }
 
+/*
+ * Unlock an inode.
+ */
 ufs_unlock(vp)
        struct vnode *vp;
 {
 ufs_unlock(vp)
        struct vnode *vp;
 {
@@ -1267,6 +1276,18 @@ ufs_unlock(vp)
        return (0);
 }
 
        return (0);
 }
 
+/*
+ * Check for a locked inode.
+ */
+ufs_islocked(vp)
+       struct vnode *vp;
+{
+
+       if (VTOI(vp)->i_flag & ILOCKED)
+               return (1);
+       return (0);
+}
+
 /*
  * Get access to bmap
  */
 /*
  * Get access to bmap
  */
index 2e07812..26c6af9 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)lfs_vnops.c 7.28 (Berkeley) %G%
+ *     @(#)lfs_vnops.c 7.29 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -69,7 +69,8 @@ int   ufs_lookup(),
        ufs_unlock(),
        ufs_bmap(),
        ufs_strategy(),
        ufs_unlock(),
        ufs_bmap(),
        ufs_strategy(),
-       ufs_print();
+       ufs_print(),
+       ufs_islocked();
 
 struct vnodeops ufs_vnodeops = {
        ufs_lookup,             /* lookup */
 
 struct vnodeops ufs_vnodeops = {
        ufs_lookup,             /* lookup */
@@ -103,6 +104,7 @@ struct vnodeops ufs_vnodeops = {
        ufs_bmap,               /* bmap */
        ufs_strategy,           /* strategy */
        ufs_print,              /* print */
        ufs_bmap,               /* bmap */
        ufs_strategy,           /* strategy */
        ufs_print,              /* print */
+       ufs_islocked,           /* islocked */
 };
 
 int    spec_lookup(),
 };
 
 int    spec_lookup(),
@@ -149,6 +151,7 @@ struct vnodeops spec_inodeops = {
        spec_bmap,              /* bmap */
        spec_strategy,          /* strategy */
        ufs_print,              /* print */
        spec_bmap,              /* bmap */
        spec_strategy,          /* strategy */
        ufs_print,              /* print */
+       ufs_islocked,           /* islocked */
 };
 
 enum vtype iftovt_tab[8] = {
 };
 
 enum vtype iftovt_tab[8] = {
@@ -1247,6 +1250,9 @@ ufs_abortop(ndp)
        return;
 }
 
        return;
 }
 
+/*
+ * Lock an inode.
+ */
 ufs_lock(vp)
        struct vnode *vp;
 {
 ufs_lock(vp)
        struct vnode *vp;
 {
@@ -1256,6 +1262,9 @@ ufs_lock(vp)
        return (0);
 }
 
        return (0);
 }
 
+/*
+ * Unlock an inode.
+ */
 ufs_unlock(vp)
        struct vnode *vp;
 {
 ufs_unlock(vp)
        struct vnode *vp;
 {
@@ -1267,6 +1276,18 @@ ufs_unlock(vp)
        return (0);
 }
 
        return (0);
 }
 
+/*
+ * Check for a locked inode.
+ */
+ufs_islocked(vp)
+       struct vnode *vp;
+{
+
+       if (VTOI(vp)->i_flag & ILOCKED)
+               return (1);
+       return (0);
+}
+
 /*
  * Get access to bmap
  */
 /*
  * Get access to bmap
  */
index c2afb15..17e3622 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)mfs_vnops.c 7.13 (Berkeley) %G%
+ *     @(#)mfs_vnops.c 7.14 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -82,6 +82,7 @@ struct vnodeops mfs_vnodeops = {
        mfs_bmap,               /* bmap */
        mfs_strategy,           /* strategy */
        mfs_print,              /* print */
        mfs_bmap,               /* bmap */
        mfs_strategy,           /* strategy */
        mfs_print,              /* print */
+       mfs_nullop,             /* islocked */
 };
 
 /*
 };
 
 /*
index d869e95..1eeafb2 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)ufs_vnops.c 7.28 (Berkeley) %G%
+ *     @(#)ufs_vnops.c 7.29 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -69,7 +69,8 @@ int   ufs_lookup(),
        ufs_unlock(),
        ufs_bmap(),
        ufs_strategy(),
        ufs_unlock(),
        ufs_bmap(),
        ufs_strategy(),
-       ufs_print();
+       ufs_print(),
+       ufs_islocked();
 
 struct vnodeops ufs_vnodeops = {
        ufs_lookup,             /* lookup */
 
 struct vnodeops ufs_vnodeops = {
        ufs_lookup,             /* lookup */
@@ -103,6 +104,7 @@ struct vnodeops ufs_vnodeops = {
        ufs_bmap,               /* bmap */
        ufs_strategy,           /* strategy */
        ufs_print,              /* print */
        ufs_bmap,               /* bmap */
        ufs_strategy,           /* strategy */
        ufs_print,              /* print */
+       ufs_islocked,           /* islocked */
 };
 
 int    spec_lookup(),
 };
 
 int    spec_lookup(),
@@ -149,6 +151,7 @@ struct vnodeops spec_inodeops = {
        spec_bmap,              /* bmap */
        spec_strategy,          /* strategy */
        ufs_print,              /* print */
        spec_bmap,              /* bmap */
        spec_strategy,          /* strategy */
        ufs_print,              /* print */
+       ufs_islocked,           /* islocked */
 };
 
 enum vtype iftovt_tab[8] = {
 };
 
 enum vtype iftovt_tab[8] = {
@@ -1247,6 +1250,9 @@ ufs_abortop(ndp)
        return;
 }
 
        return;
 }
 
+/*
+ * Lock an inode.
+ */
 ufs_lock(vp)
        struct vnode *vp;
 {
 ufs_lock(vp)
        struct vnode *vp;
 {
@@ -1256,6 +1262,9 @@ ufs_lock(vp)
        return (0);
 }
 
        return (0);
 }
 
+/*
+ * Unlock an inode.
+ */
 ufs_unlock(vp)
        struct vnode *vp;
 {
 ufs_unlock(vp)
        struct vnode *vp;
 {
@@ -1267,6 +1276,18 @@ ufs_unlock(vp)
        return (0);
 }
 
        return (0);
 }
 
+/*
+ * Check for a locked inode.
+ */
+ufs_islocked(vp)
+       struct vnode *vp;
+{
+
+       if (VTOI(vp)->i_flag & ILOCKED)
+               return (1);
+       return (0);
+}
+
 /*
  * Get access to bmap
  */
 /*
  * Get access to bmap
  */