summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-08-20 10:26:00 +0000
committerdg <dg@FreeBSD.org>1995-08-20 10:26:00 +0000
commit68e6a22cfc927472dc665196ff8099c88180d266 (patch)
treeeaef1f7bf2e90f76c65db7e02058c12318faebf0 /sys/ufs
parent0ca978d61cb945dd547b39d7c5d813ab8ed01f48 (diff)
downloadFreeBSD-src-68e6a22cfc927472dc665196ff8099c88180d266.zip
FreeBSD-src-68e6a22cfc927472dc665196ff8099c88180d266.tar.gz
Fixed mfs reboot panic by never returning failure from mfs_start().
Obtained from: 4.4BSD-Lite2
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/mfs/mfs_vfsops.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/ufs/mfs/mfs_vfsops.c b/sys/ufs/mfs/mfs_vfsops.c
index db2cbff..cc62f94 100644
--- a/sys/ufs/mfs/mfs_vfsops.c
+++ b/sys/ufs/mfs/mfs_vfsops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mfs_vfsops.c 8.4 (Berkeley) 4/16/94
- * $Id: mfs_vfsops.c,v 1.9 1995/05/29 03:27:37 phk Exp $
+ * $Id: mfs_vfsops.c,v 1.10 1995/08/11 11:31:18 davidg Exp $
*/
#include <sys/param.h>
@@ -272,7 +272,6 @@ mfs_start(mp, flags, p)
register struct mfsnode *mfsp = VTOMFS(vp);
register struct buf *bp;
register caddr_t base;
- int error = 0;
base = mfsp->mfs_baseoff;
while (mfsp->mfs_buflist != (struct buf *)(-1)) {
@@ -287,11 +286,11 @@ mfs_start(mp, flags, p)
* otherwise we will loop here, as tsleep will always return
* EINTR/ERESTART.
*/
- if (error = tsleep((caddr_t)vp, mfs_pri, "mfsidl", 0))
- if (dounmount(mp, 0, p) != 0)
- CLRSIG(p, CURSIG(p));
+ if (tsleep((caddr_t)vp, mfs_pri, "mfsidl", 0) &&
+ dounmount(mp, 0, p) != 0)
+ CLRSIG(p, CURSIG(p));
}
- return (error);
+ return (0);
}
/*
OpenPOWER on IntegriCloud