summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2002-10-23 05:14:06 +0000
committermckusick <mckusick@FreeBSD.org>2002-10-23 05:14:06 +0000
commit3819d46020cb916a39ad2190b5a11ac85754011d (patch)
tree611f52b0fa86fdb7e06fcc88e716cf31c56a1263 /sys/ufs
parent3f32e376beaf29673d54e277717f296d2c16b915 (diff)
downloadFreeBSD-src-3819d46020cb916a39ad2190b5a11ac85754011d.zip
FreeBSD-src-3819d46020cb916a39ad2190b5a11ac85754011d.tar.gz
Missplaced FREE_LOCK causes a panic when hit while taking a snapshot.
Sponsored by: DARPA & NAI Labs.
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index 1b81007..8cbf3d8 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -5571,9 +5571,9 @@ clear_remove(td)
continue;
mp = pagedep->pd_mnt;
ino = pagedep->pd_ino;
- FREE_LOCK(&lk);
if (vn_start_write(NULL, &mp, V_NOWAIT) != 0)
continue;
+ FREE_LOCK(&lk);
if ((error = VFS_VGET(mp, ino, LK_EXCLUSIVE, &vp))) {
softdep_error("clear_remove: vget", error);
vn_finished_write(mp);
OpenPOWER on IntegriCloud