summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/vfs_mount.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index 5166ab4..2d6e660 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -83,6 +83,8 @@
#include <sys/systm.h>
#include <sys/vnode.h>
+#include <geom/geom.h>
+
#include <machine/stdarg.h>
#include "opt_rootdevname.h"
@@ -1394,7 +1396,9 @@ vfs_mountroot(void)
{
char *cp;
int i, error;
-
+
+ g_waitidle();
+
/*
* The root filesystem information is compiled in, and we are
* booted with instructions to use it.
@@ -1465,8 +1469,6 @@ vfs_mountroot(void)
panic("Root mount failed, startup aborted.");
}
-void g_waitidle(void);
-
/*
* Mount (mountfrom) as the root filesystem.
*/
@@ -1485,8 +1487,6 @@ vfs_mountroot_try(char *mountfrom)
mp = NULL;
error = EINVAL;
- g_waitidle();
-
if (mountfrom == NULL)
return(error); /* don't complain */
@@ -1587,11 +1587,13 @@ vfs_mountroot_ask(void)
if (name[0] == 0)
return(1);
if (name[0] == '?') {
- printf("Possibly valid devices for 'ufs' root:\n");
- for (i = 0; i < NUMCDEVSW; i++) {
- dev = makedev(i, 0);
- if (devsw(dev) != NULL)
- printf(" \"%s\"", devsw(dev)->d_name);
+ if (!g_dev_print()) {
+ printf("Possibly valid devices for 'ufs' root:\n");
+ for (i = 0; i < NUMCDEVSW; i++) {
+ dev = makedev(i, 0);
+ if (devsw(dev) != NULL)
+ printf(" \"%s\"", devsw(dev)->d_name);
+ }
}
printf("\n");
continue;
OpenPOWER on IntegriCloud