mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 04:43:53 +00:00
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:
parent
dbfcf8cfea
commit
61e1c19319
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=210172
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue