diff options
author | jeff <jeff@FreeBSD.org> | 2002-05-14 21:59:49 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2002-05-14 21:59:49 +0000 |
commit | ba85b0e0876ba455ffad3b69fb7d4a4c3c95efab (patch) | |
tree | b464fde9cb43bdc4495f2a53cd53f5c45ffdf630 /sys/kern/vfs_vnops.c | |
parent | c751ff18aef112284149dc542ec302d978eadf68 (diff) | |
download | FreeBSD-src-ba85b0e0876ba455ffad3b69fb7d4a4c3c95efab.zip FreeBSD-src-ba85b0e0876ba455ffad3b69fb7d4a4c3c95efab.tar.gz |
Disable the shared locking namei() code for now. It breaks several stacking
filesystems. This is on hold until the rest of VFS Locking is reviewed and
deemed safe. It can be enabled with 'options LOOKUP_SHARED'.
Diffstat (limited to 'sys/kern/vfs_vnops.c')
-rw-r--r-- | sys/kern/vfs_vnops.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index d2d735d..64e26be 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -106,7 +106,7 @@ vn_open_cred(ndp, flagp, cmode, cred) struct vattr vat; struct vattr *vap = &vat; int mode, fmode, error; -#ifndef LOOKUP_EXCLUSIVE +#ifdef LOOKUP_SHARED int exclusive; /* The current intended lock state */ exclusive = 0; @@ -149,7 +149,7 @@ restart: ASSERT_VOP_LOCKED(ndp->ni_vp, "create"); fmode &= ~O_TRUNC; vp = ndp->ni_vp; -#ifndef LOOKUP_EXCLUSIVE +#ifdef LOOKUP_SHARED exclusive = 1; #endif } else { @@ -167,7 +167,7 @@ restart: } } else { ndp->ni_cnd.cn_nameiop = LOOKUP; -#ifndef LOOKUP_EXCLUSIVE +#ifdef LOOKUP_SHARED ndp->ni_cnd.cn_flags = ((fmode & O_NOFOLLOW) ? NOFOLLOW : FOLLOW) | LOCKSHARED | LOCKLEAF; @@ -213,7 +213,7 @@ restart: * Make sure that a VM object is created for VMIO support. */ if (vn_canvmio(vp) == TRUE) { -#ifndef LOOKUP_EXCLUSIVE +#ifdef LOOKUP_SHARED int flock; if (!exclusive && VOP_GETVOBJECT(vp, NULL) != 0) @@ -236,7 +236,7 @@ restart: *flagp = fmode; return (error); } -#ifndef LOOKUP_EXCLUSIVE +#ifdef LOOKUP_SHARED flock = VOP_ISLOCKED(vp, td); if (!exclusive && flock == LK_EXCLUSIVE) VOP_LOCK(vp, LK_DOWNGRADE, td); |