Date: Mon, 17 Jan 2011 14:44:16 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r217501 - user/nwhitehorn/bsdinstall/partedit Message-ID: <201101171444.p0HEiGw0003247@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nwhitehorn Date: Mon Jan 17 14:44:16 2011 New Revision: 217501 URL: http://svn.freebsd.org/changeset/base/217501 Log: Fix adding of sub-partitions to a geom that has been deleted but where the deletion has yet to be committed. Reported by: jh Modified: user/nwhitehorn/bsdinstall/partedit/gpart_ops.c user/nwhitehorn/bsdinstall/partedit/part_wizard.c Modified: user/nwhitehorn/bsdinstall/partedit/gpart_ops.c ============================================================================== --- user/nwhitehorn/bsdinstall/partedit/gpart_ops.c Mon Jan 17 05:45:55 2011 (r217500) +++ user/nwhitehorn/bsdinstall/partedit/gpart_ops.c Mon Jan 17 14:44:16 2011 (r217501) @@ -667,7 +667,15 @@ gpart_create(struct gprovider *pp, char if (geom == NULL && strcmp(pp->lg_geom->lg_class->lg_name, "PART") == 0) geom = pp->lg_geom; - if (geom == NULL) { + /* Now get the partition scheme */ + scheme = NULL; + if (geom != NULL) { + LIST_FOREACH(gc, &geom->lg_config, lg_config) + if (strcmp(gc->lg_name, "scheme") == 0) + scheme = gc->lg_val; + } + + if (geom == NULL || scheme == NULL || strcmp(scheme, "(none)") == 0) { if (gpart_partition(pp->lg_geom->lg_name, NULL) == 0) dialog_msgbox("", "The partition table has been successfully created." @@ -685,11 +693,6 @@ gpart_create(struct gprovider *pp, char if (geom == NULL) return; - /* Now get the partition scheme */ - LIST_FOREACH(gc, &geom->lg_config, lg_config) - if (strcmp(gc->lg_name, "scheme") == 0) - scheme = gc->lg_val; - size = gpart_max_free(geom, &firstfree); if (size <= 0) { dialog_msgbox("Error", "No free space left on device.", 0, 0, Modified: user/nwhitehorn/bsdinstall/partedit/part_wizard.c ============================================================================== --- user/nwhitehorn/bsdinstall/partedit/part_wizard.c Mon Jan 17 05:45:55 2011 (r217500) +++ user/nwhitehorn/bsdinstall/partedit/part_wizard.c Mon Jan 17 14:44:16 2011 (r217501) @@ -188,7 +188,7 @@ query: dialog_vars.no_label = NULL; dialog_vars.defaultno = FALSE; - if (scheme == NULL || choice == 0) { /* Entire disk */ + if (scheme == NULL || strcmp(scheme, "(none)") == 0 || choice == 0) { if (gpart != NULL) { /* Erase partitioned disk */ choice = dialog_yesno("Confirmation", "This will erase " "the disk. Are you sure you want to proceed?", 0, 0);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101171444.p0HEiGw0003247>