diff options
author | jhb <jhb@FreeBSD.org> | 2001-06-28 22:21:33 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-06-28 22:21:33 +0000 |
commit | 1bc2ddffa02d9d64d8e514191703730bca741a4b (patch) | |
tree | 98170668bcb81e6251bf86c6d9e1741b525e1391 /sys/gnu | |
parent | 6854d0f52c464a278d5fb9f00b4507a11ee52080 (diff) | |
download | FreeBSD-src-1bc2ddffa02d9d64d8e514191703730bca741a4b.zip FreeBSD-src-1bc2ddffa02d9d64d8e514191703730bca741a4b.tar.gz |
Fix more mntvnode and vnode interlock order reversals.
Diffstat (limited to 'sys/gnu')
-rw-r--r-- | sys/gnu/ext2fs/ext2_vfsops.c | 4 | ||||
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_vfsops.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/gnu/ext2fs/ext2_vfsops.c b/sys/gnu/ext2fs/ext2_vfsops.c index 9834131..7263615 100644 --- a/sys/gnu/ext2fs/ext2_vfsops.c +++ b/sys/gnu/ext2fs/ext2_vfsops.c @@ -574,15 +574,15 @@ loop: goto loop; } nvp = LIST_NEXT(vp, v_mntvnodes); + mtx_unlock(&mntvnode_mtx); /* * Step 4: invalidate all inactive vnodes. */ - if (vrecycle(vp, &mntvnode_mtx, p)) + if (vrecycle(vp, NULL, p)) goto loop; /* * Step 5: invalidate all cached file data. */ - mtx_unlock(&mntvnode_mtx); mtx_lock(&vp->v_interlock); if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, p)) { goto loop; diff --git a/sys/gnu/fs/ext2fs/ext2_vfsops.c b/sys/gnu/fs/ext2fs/ext2_vfsops.c index 9834131..7263615 100644 --- a/sys/gnu/fs/ext2fs/ext2_vfsops.c +++ b/sys/gnu/fs/ext2fs/ext2_vfsops.c @@ -574,15 +574,15 @@ loop: goto loop; } nvp = LIST_NEXT(vp, v_mntvnodes); + mtx_unlock(&mntvnode_mtx); /* * Step 4: invalidate all inactive vnodes. */ - if (vrecycle(vp, &mntvnode_mtx, p)) + if (vrecycle(vp, NULL, p)) goto loop; /* * Step 5: invalidate all cached file data. */ - mtx_unlock(&mntvnode_mtx); mtx_lock(&vp->v_interlock); if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, p)) { goto loop; |