summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/geom/geom.h2
-rw-r--r--sys/geom/geom_dev.c14
-rw-r--r--sys/kern/vfs_mount.c13
3 files changed, 9 insertions, 20 deletions
diff --git a/sys/geom/geom.h b/sys/geom/geom.h
index aed9498..53f7356 100644
--- a/sys/geom/geom.h
+++ b/sys/geom/geom.h
@@ -172,7 +172,7 @@ struct g_provider {
};
/* geom_dev.c */
-int g_dev_print(void);
+void g_dev_print(void);
/* geom_dump.c */
void g_hexdump(void *ptr, int length);
diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c
index 65ae722..a00ce6a 100644
--- a/sys/geom/geom_dev.c
+++ b/sys/geom/geom_dev.c
@@ -76,19 +76,17 @@ static struct g_class g_dev_class = {
.taste = g_dev_taste,
};
-int
+void
g_dev_print(void)
{
struct g_geom *gp;
+ char const *p = "";
- g_waitidle();
- if (LIST_EMPTY(&g_dev_class.geom))
- return (0);
- printf("List of GEOM disk devices:\n ");
- LIST_FOREACH(gp, &g_dev_class.geom, geom)
- printf(" %s", gp->name);
+ LIST_FOREACH(gp, &g_dev_class.geom, geom) {
+ printf("%s%s", p, gp->name);
+ p = " ";
+ }
printf("\n");
- return (1);
}
/*
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index 6a12f20..f9cc52a 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -1600,8 +1600,6 @@ static int
vfs_mountroot_ask(void)
{
char name[128];
- int i;
- dev_t dev;
for(;;) {
printf("\nManual root filesystem specification:\n");
@@ -1618,15 +1616,8 @@ vfs_mountroot_ask(void)
if (name[0] == 0)
return(1);
if (name[0] == '?') {
- 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");
+ printf("\nList of GEOM managed disk devices:\n ");
+ g_dev_print();
continue;
}
if (!vfs_mountroot_try(name))
OpenPOWER on IntegriCloud