mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
v_vxproc was a bogus name for a thread (pointer).
This commit is contained in:
parent
007233efcd
commit
9efe7d9d83
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=123932
@ -650,7 +650,7 @@ null_lock(ap)
|
||||
* operation. When that happens, just back out.
|
||||
*/
|
||||
if (error == 0 && (vp->v_iflag & VI_XLOCK) != 0 &&
|
||||
td != vp->v_vxproc) {
|
||||
td != vp->v_vxthread) {
|
||||
lockmgr(vp->v_vnlock,
|
||||
(flags & ~LK_TYPE_MASK) | LK_RELEASE,
|
||||
VI_MTX(vp), td);
|
||||
@ -668,7 +668,7 @@ null_lock(ap)
|
||||
wakeup(&nn->null_pending_locks);
|
||||
}
|
||||
if (error == ENOENT && (vp->v_iflag & VI_XLOCK) != 0 &&
|
||||
vp->v_vxproc != curthread) {
|
||||
vp->v_vxthread != curthread) {
|
||||
vp->v_iflag |= VI_XWANT;
|
||||
msleep(vp, VI_MTX(vp), PINOD, "nulbo", 0);
|
||||
}
|
||||
|
@ -2095,7 +2095,7 @@ vget(vp, flags, td)
|
||||
*/
|
||||
if ((flags & LK_INTERLOCK) == 0)
|
||||
VI_LOCK(vp);
|
||||
if (vp->v_iflag & VI_XLOCK && vp->v_vxproc != curthread) {
|
||||
if (vp->v_iflag & VI_XLOCK && vp->v_vxthread != curthread) {
|
||||
if ((flags & LK_NOWAIT) == 0) {
|
||||
vp->v_iflag |= VI_XWANT;
|
||||
msleep(vp, VI_MTX(vp), PINOD | PDROP, "vget", 0);
|
||||
@ -2504,7 +2504,7 @@ vx_lock(struct vnode *vp)
|
||||
if (vp->v_iflag & VI_XLOCK)
|
||||
panic("vclean: deadlock");
|
||||
vp->v_iflag |= VI_XLOCK;
|
||||
vp->v_vxproc = curthread;
|
||||
vp->v_vxthread = curthread;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -2512,7 +2512,7 @@ vx_unlock(struct vnode *vp)
|
||||
{
|
||||
ASSERT_VI_LOCKED(vp, "vx_unlock");
|
||||
vp->v_iflag &= ~VI_XLOCK;
|
||||
vp->v_vxproc = NULL;
|
||||
vp->v_vxthread = NULL;
|
||||
if (vp->v_iflag & VI_XWANT) {
|
||||
vp->v_iflag &= ~VI_XWANT;
|
||||
wakeup(vp);
|
||||
|
@ -869,7 +869,7 @@ debug_vn_lock(vp, flags, td, filename, line)
|
||||
do {
|
||||
if ((flags & LK_INTERLOCK) == 0)
|
||||
VI_LOCK(vp);
|
||||
if ((vp->v_iflag & VI_XLOCK) && vp->v_vxproc != curthread) {
|
||||
if ((vp->v_iflag & VI_XLOCK) && vp->v_vxthread != curthread) {
|
||||
if ((flags & LK_NOWAIT) != 0) {
|
||||
VI_UNLOCK(vp);
|
||||
return (ENOENT);
|
||||
|
@ -112,7 +112,7 @@ struct vnode {
|
||||
u_long v_iflag; /* i vnode flags (see below) */
|
||||
int v_usecount; /* i ref count of users */
|
||||
long v_numoutput; /* i writes in progress */
|
||||
struct thread *v_vxproc; /* i thread owning VXLOCK */
|
||||
struct thread *v_vxthread; /* i thread owning VXLOCK */
|
||||
int v_holdcnt; /* i page & buffer references */
|
||||
struct buflists v_cleanblkhd; /* i SORTED clean blocklist */
|
||||
struct buf *v_cleanblkroot; /* i clean buf splay tree */
|
||||
|
Loading…
Reference in New Issue
Block a user