mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
- Fix a mistake in my last few commits. The PDROP flag stops msleep from
re-acquiring the mutex. Pointy hat to: me Noticed by: tegge
This commit is contained in:
parent
95289fb2ec
commit
ad32f726db
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=102297
@ -1919,7 +1919,6 @@ vget(vp, flags, td)
|
||||
if (vp->v_iflag & VI_XLOCK && vp->v_vxproc != curthread) {
|
||||
vp->v_iflag |= VI_XWANT;
|
||||
msleep(vp, VI_MTX(vp), PINOD | PDROP, "vget", 0);
|
||||
VI_UNLOCK(vp);
|
||||
return (ENOENT);
|
||||
}
|
||||
|
||||
@ -2412,7 +2411,6 @@ vop_revoke(ap)
|
||||
vp->v_iflag |= VI_XWANT;
|
||||
msleep(vp, VI_MTX(vp), PINOD | PDROP,
|
||||
"vop_revokeall", 0);
|
||||
VI_UNLOCK(vp);
|
||||
return (0);
|
||||
}
|
||||
VI_UNLOCK(vp);
|
||||
@ -2482,8 +2480,7 @@ vgonel(vp, td)
|
||||
ASSERT_VI_LOCKED(vp);
|
||||
if (vp->v_iflag & VI_XLOCK) {
|
||||
vp->v_iflag |= VI_XWANT;
|
||||
VI_UNLOCK(vp);
|
||||
tsleep(vp, PINOD | PDROP, "vgone", 0);
|
||||
msleep(vp, VI_MTX(vp), PINOD | PDROP, "vgone", 0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -850,8 +850,7 @@ debug_vn_lock(vp, flags, td, filename, line)
|
||||
VI_LOCK(vp);
|
||||
if ((vp->v_iflag & VI_XLOCK) && vp->v_vxproc != curthread) {
|
||||
vp->v_iflag |= VI_XWANT;
|
||||
msleep(vp, VI_MTX(vp), PINOD | PDROP,
|
||||
"vn_lock", 0);
|
||||
msleep(vp, VI_MTX(vp), PINOD, "vn_lock", 0);
|
||||
error = ENOENT;
|
||||
if ((flags & LK_RETRY) == 0) {
|
||||
VI_UNLOCK(vp);
|
||||
|
Loading…
Reference in New Issue
Block a user