mountroot should fail, not panic
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Thu, 11 May 1995 04:22:17 +0000 (20:22 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Thu, 11 May 1995 04:22:17 +0000 (20:22 -0800)
SCCS-vsn: sys/isofs/cd9660/cd9660_vfsops.c 8.15
SCCS-vsn: sys/ufs/ffs/ffs_vfsops.c 8.27
SCCS-vsn: sys/ufs/lfs/lfs_vfsops.c 8.17
SCCS-vsn: sys/ufs/mfs/mfs_vfsops.c 8.9

usr/src/sys/isofs/cd9660/cd9660_vfsops.c
usr/src/sys/ufs/ffs/ffs_vfsops.c
usr/src/sys/ufs/lfs/lfs_vfsops.c
usr/src/sys/ufs/mfs/mfs_vfsops.c

index 953952e..96609fb 100644 (file)
@@ -9,7 +9,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)cd9660_vfsops.c     8.14 (Berkeley) %G%
+ *     @(#)cd9660_vfsops.c     8.15 (Berkeley) %G%
  */
 
 #include <sys/param.h>
  */
 
 #include <sys/param.h>
@@ -67,8 +67,11 @@ cd9660_mountroot()
        /*
         * Get vnodes for swapdev and rootdev.
         */
        /*
         * Get vnodes for swapdev and rootdev.
         */
-       if (bdevvp(swapdev, &swapdev_vp) || bdevvp(rootdev, &rootvp))
-               panic("cd9660_mountroot: can't setup bdevvp's");
+       if ((error = bdevvp(swapdev, &swapdev_vp)) ||
+           (error = bdevvp(rootdev, &rootvp))) {
+               printf("cd9660_mountroot: can't setup bdevvp's");
+               return (error);
+       }
 
        if (error = vfs_rootmountalloc("cd9660", "root_device", &mp))
                return (error);
 
        if (error = vfs_rootmountalloc("cd9660", "root_device", &mp))
                return (error);
index c743373..001503b 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)ffs_vfsops.c        8.26 (Berkeley) %G%
+ *     @(#)ffs_vfsops.c        8.27 (Berkeley) %G%
  */
 
 #include <sys/param.h>
  */
 
 #include <sys/param.h>
@@ -71,9 +71,11 @@ ffs_mountroot()
        /*
         * Get vnodes for swapdev and rootdev.
         */
        /*
         * Get vnodes for swapdev and rootdev.
         */
-       if (bdevvp(swapdev, &swapdev_vp) || bdevvp(rootdev, &rootvp))
-               panic("ffs_mountroot: can't setup bdevvp's");
-
+       if ((error = bdevvp(swapdev, &swapdev_vp)) ||
+           (error = bdevvp(rootdev, &rootvp))) {
+               printf("ffs_mountroot: can't setup bdevvp's");
+               return (error);
+       }
        if (error = vfs_rootmountalloc("ufs", "root_device", &mp))
                return (error);
        if (error = ffs_mountfs(rootvp, mp, p)) {
        if (error = vfs_rootmountalloc("ufs", "root_device", &mp))
                return (error);
        if (error = ffs_mountfs(rootvp, mp, p)) {
index 5f49833..29e4008 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)lfs_vfsops.c        8.16 (Berkeley) %G%
+ *     @(#)lfs_vfsops.c        8.17 (Berkeley) %G%
  */
 
 #include <sys/param.h>
  */
 
 #include <sys/param.h>
@@ -67,9 +67,11 @@ lfs_mountroot()
        /*
         * Get vnodes for swapdev and rootdev.
         */
        /*
         * Get vnodes for swapdev and rootdev.
         */
-       if (bdevvp(swapdev, &swapdev_vp) || bdevvp(rootdev, &rootvp))
-               panic("ffs_mountroot: can't setup bdevvp's");
-
+       if ((error = bdevvp(swapdev, &swapdev_vp)) ||
+           (error = bdevvp(rootdev, &rootvp))) {
+               printf("lfs_mountroot: can't setup bdevvp's");
+               return (error);
+       }
        if (error = vfs_rootmountalloc("lfs", "root_device", &mp))
                return (error);
        if (error = lfs_mountfs(rootvp, mp, p)) {
        if (error = vfs_rootmountalloc("lfs", "root_device", &mp))
                return (error);
        if (error = lfs_mountfs(rootvp, mp, p)) {
index 86469a9..8074fc8 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)mfs_vfsops.c        8.8 (Berkeley) %G%
+ *     @(#)mfs_vfsops.c        8.9 (Berkeley) %G%
  */
 
 #include <sys/param.h>
  */
 
 #include <sys/param.h>
@@ -70,9 +70,11 @@ mfs_mountroot()
        /*
         * Get vnodes for swapdev and rootdev.
         */
        /*
         * Get vnodes for swapdev and rootdev.
         */
-       if (bdevvp(swapdev, &swapdev_vp) || bdevvp(rootdev, &rootvp))
-               panic("mfs_mountroot: can't setup bdevvp's");
-
+       if ((error = bdevvp(swapdev, &swapdev_vp)) ||
+           (error = bdevvp(rootdev, &rootvp))) {
+               printf("mfs_mountroot: can't setup bdevvp's");
+               return (error);
+       }
        if (error = vfs_rootmountalloc("mfs", "mfs_root", &mp))
                return (error);
        mfsp = malloc(sizeof *mfsp, M_MFSNODE, M_WAITOK);
        if (error = vfs_rootmountalloc("mfs", "mfs_root", &mp))
                return (error);
        mfsp = malloc(sizeof *mfsp, M_MFSNODE, M_WAITOK);