summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-03-02 22:18:34 +0000
committerdyson <dyson@FreeBSD.org>1996-03-02 22:18:34 +0000
commite817145c4ace0e19f0cae5bfc62525baa5d04426 (patch)
tree37ab4ac552a16a915913135359cc937437238235 /sys/ufs
parent244924821ef4638dfbdaaf5bdb48765b59ef0e82 (diff)
downloadFreeBSD-src-e817145c4ace0e19f0cae5bfc62525baa5d04426.zip
FreeBSD-src-e817145c4ace0e19f0cae5bfc62525baa5d04426.tar.gz
Handle the bogus device that MFS uses as its VBLK device. We now don't
try to VMIO open it on MFS mounts. This will fix the mfs_badops panic.
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
index 949e0a8..44ae0d6 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_vfsops.c 8.8 (Berkeley) 4/18/94
- * $Id: ffs_vfsops.c,v 1.36 1996/02/25 20:12:36 bde Exp $
+ * $Id: ffs_vfsops.c,v 1.37 1996/03/02 03:45:12 dyson Exp $
*/
#include "opt_quota.h"
@@ -584,7 +584,13 @@ ffs_mountfs(devvp, mp, p)
}
if (ronly == 0)
ffs_sbupdate(ump, MNT_WAIT);
- vn_vmio_open(devvp, p, p->p_ucred);
+ /*
+ * Only VMIO the backing device if the backing device is a real
+ * block device. This excludes the original MFS implementation.
+ */
+ if ((devvp->v_type == VBLK) && (major(devvp->v_rdev) < nblkdev)) {
+ vn_vmio_open(devvp, p, p->p_ucred);
+ }
return (0);
out:
if (bp)
OpenPOWER on IntegriCloud