boot - Improve lsdev (2)
authorAlex Hornung <ahornung@gmail.com>
Thu, 26 Nov 2009 14:31:59 +0000 (14:31 +0000)
committerAlex Hornung <ahornung@gmail.com>
Thu, 26 Nov 2009 14:35:12 +0000 (14:35 +0000)
* Mark partitions from which it may be possible to load modules with a
  '*' prefix.

* Change loader(8) man page accordingly.

Suggested-by: Sascha Wildner
sys/boot/common/loader.8
sys/boot/pc32/libi386/biosdisk.c

index 0e9bc51..1a592c9 100644 (file)
@@ -246,7 +246,9 @@ If
 is specified, file sizes will be shown too.
 .Pp
 .It Ic lsdev Op Fl v
-Lists all of the devices from which it may be possible to load modules.
+Lists all devices with known file systems, where a
+'*' prefix indicates a device from which it may be
+possible to load modules.
 If
 .Fl v
 is specified, more details are printed.
index 332bf2d..8e47f3f 100644 (file)
@@ -391,7 +391,10 @@ print_partition(u_int8_t fstype, unsigned long long offset,
 
                /* Only print out statistics in verbose mode */
                if (verbose) {
-                       sprintf(line, "  %s%c: %s  %.6lluMB (%llu - %llu)\n",
+                       sprintf(line, "%c %s%c: %s  %.6lluMB (%llu - %llu)\n",
+                           /* prefix disks that can be used to load modules with '*' */
+                           ((fstype == FS_BSDFFS) || (fstype == FS_UNUSED) ||
+                           (fstype == FS_VINUM)) ? '*' : ' ',
                            prefix, 'a' + i,
                            (fstype == FS_SWAP) ? "swap" :
                            (fstype == FS_VINUM) ? "vinum" :
@@ -404,7 +407,11 @@ print_partition(u_int8_t fstype, unsigned long long offset,
                            offset,
                            offset + size);
                } else {
-                       sprintf(line, "  %s%c: %s\n", prefix, 'a' + i,
+                       sprintf(line, "%c %s%c: %s\n",
+                           /* prefix disks that can be used to load modules with '*' */
+                           ((fstype == FS_BSDFFS) || (fstype == FS_UNUSED) ||
+                           (fstype == FS_VINUM)) ? '*' : ' ',
+                           prefix, 'a' + i,
                            (fstype == FS_SWAP) ? "swap" :
                            (fstype == FS_VINUM) ? "vinum" :
                            (fstype == FS_HAMMER) ? "HAMMER" :