summaryrefslogtreecommitdiffstats
path: root/sys/gnu
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-06-28 22:21:33 +0000
committerjhb <jhb@FreeBSD.org>2001-06-28 22:21:33 +0000
commit1bc2ddffa02d9d64d8e514191703730bca741a4b (patch)
tree98170668bcb81e6251bf86c6d9e1741b525e1391 /sys/gnu
parent6854d0f52c464a278d5fb9f00b4507a11ee52080 (diff)
downloadFreeBSD-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.c4
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vfsops.c4
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;
OpenPOWER on IntegriCloud