diff options
-rw-r--r-- | sys/nfsclient/nfs_vfsops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/nfsclient/nfs_vfsops.c b/sys/nfsclient/nfs_vfsops.c index 6976012..b44ef6c 100644 --- a/sys/nfsclient/nfs_vfsops.c +++ b/sys/nfsclient/nfs_vfsops.c @@ -943,8 +943,9 @@ loop: if (vp->v_mount != mp) goto loop; vnp = TAILQ_NEXT(vp, v_nmntvnodes); - mtx_unlock(&mntvnode_mtx); + /* XXX Not obeying XLOCK. */ VI_LOCK(vp); + mtx_unlock(&mntvnode_mtx); if (VOP_ISLOCKED(vp, NULL) || TAILQ_EMPTY(&vp->v_dirtyblkhd) || waitfor == MNT_LAZY) { VI_UNLOCK(vp); |