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); } /* _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"