Don't touch v_interlock; use VI_* macros instead.

This commit is contained in:
trasz 2010-01-27 19:30:44 +00:00
parent 186bb5641d
commit de024c2452
2 changed files with 8 additions and 8 deletions

View File

@ -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;

View File

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