svn commit: r210172 - in head/sys:
cddl/contrib/opensolaris/uts/common/fs/zfs fs/cd9660 fs/udf ufs/ffs
John Baldwin
jhb at FreeBSD.org
Fri Jul 16 19:52:03 UTC 2010
Author: jhb
Date: Fri Jul 16 19:52:03 2010
New Revision: 210172
URL: http://svn.freebsd.org/changeset/base/210172
Log:
Revert the previous commit. The race is not applicable to the lockmgr
implementation in 8.0 and later as its flags field does not hold dynamic
state such as waiters flags, but is only modified in lockinit() aside
from VN_LOCK_*().
Discussed with: attilio
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
head/sys/fs/cd9660/cd9660_vfsops.c
head/sys/fs/udf/udf_vfsops.c
head/sys/ufs/ffs/ffs_vfsops.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Fri Jul 16 19:20:20 2010 (r210171)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Fri Jul 16 19:52:03 2010 (r210172)
@@ -566,11 +566,8 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_bu
}
break;
}
- if (vp->v_type != VFIFO) {
- VI_LOCK(vp);
+ if (vp->v_type != VFIFO)
VN_LOCK_ASHARE(vp);
- VI_UNLOCK(vp);
- }
mutex_enter(&zfsvfs->z_znodes_lock);
list_insert_tail(&zfsvfs->z_all_znodes, zp);
Modified: head/sys/fs/cd9660/cd9660_vfsops.c
==============================================================================
--- head/sys/fs/cd9660/cd9660_vfsops.c Fri Jul 16 19:20:20 2010 (r210171)
+++ head/sys/fs/cd9660/cd9660_vfsops.c Fri Jul 16 19:52:03 2010 (r210172)
@@ -814,9 +814,7 @@ cd9660_vget_internal(mp, ino, flags, vpp
vp->v_op = &cd9660_fifoops;
break;
default:
- VI_LOCK(vp);
VN_LOCK_ASHARE(vp);
- VI_UNLOCK(vp);
break;
}
Modified: head/sys/fs/udf/udf_vfsops.c
==============================================================================
--- head/sys/fs/udf/udf_vfsops.c Fri Jul 16 19:20:20 2010 (r210171)
+++ head/sys/fs/udf/udf_vfsops.c Fri Jul 16 19:52:03 2010 (r210172)
@@ -710,11 +710,8 @@ udf_vget(struct mount *mp, ino_t ino, in
break;
}
- if (vp->v_type != VFIFO) {
- VI_LOCK(vp);
+ if (vp->v_type != VFIFO)
VN_LOCK_ASHARE(vp);
- VI_UNLOCK(vp);
- }
if (ino == udf_getid(&udfmp->root_icb))
vp->v_vflag |= VV_ROOT;
Modified: head/sys/ufs/ffs/ffs_vfsops.c
==============================================================================
--- head/sys/ufs/ffs/ffs_vfsops.c Fri Jul 16 19:20:20 2010 (r210171)
+++ head/sys/ufs/ffs/ffs_vfsops.c Fri Jul 16 19:52:03 2010 (r210172)
@@ -1577,9 +1577,7 @@ ffs_vgetf(mp, ino, flags, vpp, ffs_flags
*/
if (vp->v_type != VFIFO) {
/* FFS supports shared locking for all files except fifos. */
- VI_LOCK(vp);
VN_LOCK_ASHARE(vp);
- VI_UNLOCK(vp);
}
/*
More information about the svn-src-all
mailing list