Don't touch v_interlock; use VI_* macros instead.
This commit is contained in:
parent
186bb5641d
commit
de024c2452
@ -151,7 +151,7 @@ loop:
|
||||
rescan:
|
||||
if (nwfs_hashlookup(nmp, fid, &np) == 0) {
|
||||
vp = NWTOV(np);
|
||||
mtx_lock(&vp->v_interlock);
|
||||
VI_LOCK(vp);
|
||||
sx_xunlock(&nwhashlock);
|
||||
if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, curthread))
|
||||
goto loop;
|
||||
|
@ -231,24 +231,24 @@ nwfs_close(ap)
|
||||
|
||||
if (vp->v_type == VDIR) return 0; /* nothing to do now */
|
||||
error = 0;
|
||||
mtx_lock(&vp->v_interlock);
|
||||
VI_LOCK(vp);
|
||||
if (np->opened == 0) {
|
||||
mtx_unlock(&vp->v_interlock);
|
||||
VI_UNLOCK(vp);
|
||||
return 0;
|
||||
}
|
||||
mtx_unlock(&vp->v_interlock);
|
||||
VI_UNLOCK(vp);
|
||||
error = nwfs_vinvalbuf(vp, ap->a_td);
|
||||
mtx_lock(&vp->v_interlock);
|
||||
VI_LOCK(vp);
|
||||
if (np->opened == 0) {
|
||||
mtx_unlock(&vp->v_interlock);
|
||||
VI_UNLOCK(vp);
|
||||
return 0;
|
||||
}
|
||||
if (--np->opened == 0) {
|
||||
mtx_unlock(&vp->v_interlock);
|
||||
VI_UNLOCK(vp);
|
||||
error = ncp_close_file(NWFSTOCONN(VTONWFS(vp)), &np->n_fh,
|
||||
ap->a_td, ap->a_cred);
|
||||
} else
|
||||
mtx_unlock(&vp->v_interlock);
|
||||
VI_UNLOCK(vp);
|
||||
np->n_atime = 0;
|
||||
return (error);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user