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
This commit is contained in:
John Baldwin 2010-07-16 19:52:03 +00:00
parent dbfcf8cfea
commit 61e1c19319
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=210172
4 changed files with 2 additions and 12 deletions

View file

@ -566,11 +566,8 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz)
}
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);

View file

@ -814,9 +814,7 @@ cd9660_vget_internal(mp, ino, flags, vpp, relocated, isodir)
vp->v_op = &cd9660_fifoops;
break;
default:
VI_LOCK(vp);
VN_LOCK_ASHARE(vp);
VI_UNLOCK(vp);
break;
}

View file

@ -710,11 +710,8 @@ udf_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp)
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;

View file

@ -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);
}
/*