Date: Sun, 23 Jan 2011 23:06:15 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r217764 - user/nwhitehorn/bsdinstall/partedit Message-ID: <201101232306.p0NN6FAc070293@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nwhitehorn Date: Sun Jan 23 23:06:15 2011 New Revision: 217764 URL: http://svn.freebsd.org/changeset/base/217764 Log: Exclude swap-backed md devices from lists of available install targets. The install CD creates some of these for /var and /tmp, and they are fundamentally infeasible install targets. vnode-backed md devices remain, since they can be used as disk images for virtual machines. Requested by: rwatson Modified: user/nwhitehorn/bsdinstall/partedit/part_wizard.c user/nwhitehorn/bsdinstall/partedit/partedit.c Modified: user/nwhitehorn/bsdinstall/partedit/part_wizard.c ============================================================================== --- user/nwhitehorn/bsdinstall/partedit/part_wizard.c Sun Jan 23 22:39:31 2011 (r217763) +++ user/nwhitehorn/bsdinstall/partedit/part_wizard.c Sun Jan 23 23:06:15 2011 (r217764) @@ -57,9 +57,11 @@ static char * boot_disk(struct gmesh *mesh) { struct gclass *classp; + struct gconfig *gc; struct ggeom *gp; struct gprovider *pp; DIALOG_LISTITEM *disks = NULL; + const char *type; char diskdesc[512]; char *chosen; int i, err, selected, n = 0; @@ -74,6 +76,16 @@ boot_disk(struct gmesh *mesh) continue; LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { + type = NULL; + LIST_FOREACH(gc, &pp->lg_config, lg_config) + if (strcmp(gc->lg_name, "type") == 0) + type = gc->lg_val; + + /* Skip swap-backed md devices */ + if (strcmp(classp->lg_name, "MD") == 0 && + type != NULL && strcmp(type, "swap") == 0) + continue; + disks = realloc(disks, (++n)*sizeof(disks[0])); disks[n-1].name = pp->lg_name; humanize_number(diskdesc, 7, pp->lg_mediasize, Modified: user/nwhitehorn/bsdinstall/partedit/partedit.c ============================================================================== --- user/nwhitehorn/bsdinstall/partedit/partedit.c Sun Jan 23 22:39:31 2011 (r217763) +++ user/nwhitehorn/bsdinstall/partedit/partedit.c Sun Jan 23 23:06:15 2011 (r217764) @@ -294,7 +294,7 @@ read_geom_mesh(struct gmesh *mesh, int * items = NULL; /* - * Built the device table. First add all disks (and CDs). + * Build the device table. First add all disks (and CDs). */ LIST_FOREACH(classp, &mesh->lg_class, lg_class) { @@ -346,6 +346,12 @@ add_geom_children(struct ggeom *gp, int if (strcmp(gc->lg_name, "type") == 0) (*items)[*nitems].type = gc->lg_val; } + + /* Skip swap-backed MD devices */ + if (strcmp(gp->lg_class->lg_name, "MD") == 0 && + strcmp((*items)[*nitems].type, "swap") == 0) + continue; + (*nitems)++; LIST_FOREACH(cp, &pp->lg_consumers, lg_consumers)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101232306.p0NN6FAc070293>