From dda4743b45e6284967a165dc2e023c165b2c1ec6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 10 Jul 2017 12:32:43 +0200 Subject: fdisk: reset context after failed script Addresses: https://github.com/karelzak/util-linux/issues/481 Signed-off-by: Karel Zak --- disk-utils/fdisk-menu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'disk-utils') diff --git a/disk-utils/fdisk-menu.c b/disk-utils/fdisk-menu.c index 9ab28c43f..9245bac8a 100644 --- a/disk-utils/fdisk-menu.c +++ b/disk-utils/fdisk-menu.c @@ -465,9 +465,15 @@ static int script_read(struct fdisk_context *cxt) fdisk_warn(cxt, _("Cannot open %s"), filename); else if (!sc) fdisk_warnx(cxt, _("Failed to parse script file %s"), filename); - else if (fdisk_apply_script(cxt, sc) != 0) + else if (fdisk_apply_script(cxt, sc) != 0) { fdisk_warnx(cxt, _("Failed to apply script %s"), filename); - else + fdisk_warnx(cxt, _("Resetting fdisk!")); + rc = fdisk_reassign_device(cxt); + if (rc == 0 && !fdisk_has_label(cxt)) { + fdisk_info(cxt, _("Device does not contain a recognized partition table.")); + fdisk_create_disklabel(cxt, NULL); + } + } else fdisk_info(cxt, _("Script successfully applied.")); fdisk_unref_script(sc); -- cgit v1.2.3-55-g7522