From 9636f84bf67d42e12648e7e7f8a9ba201bae089e Mon Sep 17 00:00:00 2001 From: Nathan Whitehorn Date: Sat, 26 Feb 2011 15:44:03 +0000 Subject: [PATCH] Show disk model numbers in partition wizard screen. Also, since da(4) disks are probably more likely to be USB or Firewire these days than SCSI, just call them and anyone unknown "Disk" instead of SCSI disk. --- usr.sbin/bsdinstall/partedit/part_wizard.c | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/usr.sbin/bsdinstall/partedit/part_wizard.c b/usr.sbin/bsdinstall/partedit/part_wizard.c index 248e77c56b8..6e255a452c0 100644 --- a/usr.sbin/bsdinstall/partedit/part_wizard.c +++ b/usr.sbin/bsdinstall/partedit/part_wizard.c @@ -89,7 +89,7 @@ boot_disk(struct gmesh *mesh) struct ggeom *gp; struct gprovider *pp; DIALOG_LISTITEM *disks = NULL; - const char *type; + const char *type, *desc; char diskdesc[512]; char *chosen; int i, err, selected, n = 0; @@ -104,15 +104,20 @@ boot_disk(struct gmesh *mesh) continue; LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { - type = NULL; - LIST_FOREACH(gc, &pp->lg_config, lg_config) + desc = type = NULL; + LIST_FOREACH(gc, &pp->lg_config, lg_config) { if (strcmp(gc->lg_name, "type") == 0) type = gc->lg_val; + if (strcmp(gc->lg_name, "descr") == 0) + desc = gc->lg_val; + } - /* Skip swap-backed md devices */ + /* Skip swap-backed md and WORM devices */ if (strcmp(classp->lg_name, "MD") == 0 && type != NULL && strcmp(type, "swap") == 0) continue; + if (strncmp(pp->lg_name, "cd", 2) == 0) + continue; disks = realloc(disks, (++n)*sizeof(disks[0])); disks[n-1].name = pp->lg_name; @@ -120,15 +125,15 @@ boot_disk(struct gmesh *mesh) "B", HN_AUTOSCALE, HN_DECIMAL); if (strncmp(pp->lg_name, "ad", 2) == 0) strcat(diskdesc, " ATA Hard Disk"); - else if (strncmp(pp->lg_name, "da", 2) == 0) - strcat(diskdesc, " SCSI Hard Disk"); else if (strncmp(pp->lg_name, "md", 2) == 0) strcat(diskdesc, " Memory Disk"); - else if (strncmp(pp->lg_name, "cd", 2) == 0) { - n--; - continue; - } else - strcat(diskdesc, " Hard Disk"); + else + strcat(diskdesc, " Disk"); + + if (desc != NULL) + snprintf(diskdesc, sizeof(diskdesc), + "%s <%s>", diskdesc, desc); + disks[n-1].text = strdup(diskdesc); disks[n-1].help = NULL; disks[n-1].state = 0;