Date: Mon, 5 Sep 2016 08:42:36 +0000 (UTC) From: Wojciech Macek <wma@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r305415 - head/usr.sbin/bsdinstall/partedit Message-ID: <201609050842.u858galT093190@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: wma Date: Mon Sep 5 08:42:36 2016 New Revision: 305415 URL: https://svnweb.freebsd.org/changeset/base/305415 Log: bsdinstall: add warning when unsupported partition is modified Right now is possible to modify bootable partition type to non-bootable type without getting warning from partedit. Example: if you auto parition drive for arm64, you will get freebsd-ufs as bootable partition; now you are able to change bootable partition type to freebsd-zfs; there will be no warning and the system will install but will not be bootable afterwards. After this fix, partedit will issue the same warning it does when user attempts to create bootable partition of not supported type, notyfing a user about incoming problem and allowing to think the decision over before commiting the schema. This has been tested on amd64 and arm64. Obtained from: Semihalf Submitted by: Dominik Ermel <der@semihalf.com> Sponsored by: Cavium Reviewed by: nwhitehorn Differential Revision: https://reviews.freebsd.org/D6879 Modified: head/usr.sbin/bsdinstall/partedit/gpart_ops.c Modified: head/usr.sbin/bsdinstall/partedit/gpart_ops.c ============================================================================== --- head/usr.sbin/bsdinstall/partedit/gpart_ops.c Mon Sep 5 08:27:04 2016 (r305414) +++ head/usr.sbin/bsdinstall/partedit/gpart_ops.c Mon Sep 5 08:42:36 2016 (r305415) @@ -617,6 +617,20 @@ editpart: if (choice) /* Cancel pressed */ goto endedit; + /* If this is the root partition, check that this fs is bootable */ + if (strcmp(items[2].text, "/") == 0 && !is_fs_bootable(scheme, + items[0].text)) { + char message[512]; + sprintf(message, "This file system (%s) is not bootable " + "on this system. Are you sure you want to proceed?", + items[0].text); + dialog_vars.defaultno = TRUE; + choice = dialog_yesno("Warning", message, 0, 0); + dialog_vars.defaultno = FALSE; + if (choice == 1) /* cancel */ + goto editpart; + } + /* Check if the label has a / in it */ if (strchr(items[3].text, '/') != NULL) { dialog_msgbox("Error", "Label contains a /, which is not an "
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609050842.u858galT093190>