diff options
author | Sassan Panahinejad | 2016-05-13 12:42:14 +0200 |
---|---|---|
committer | Karel Zak | 2016-05-18 13:46:35 +0200 |
commit | 304cf9499dc5a8b170f8be56f59e9fddc5545b8a (patch) | |
tree | a55160af4cf7aa10af5579c1622cbb3014b5cb26 /disk-utils/fdisk-menu.c | |
parent | libfdisk: fix range checking for fdisk_set_last_lba (diff) | |
download | kernel-qcow2-util-linux-304cf9499dc5a8b170f8be56f59e9fddc5545b8a.tar.gz kernel-qcow2-util-linux-304cf9499dc5a8b170f8be56f59e9fddc5545b8a.tar.xz kernel-qcow2-util-linux-304cf9499dc5a8b170f8be56f59e9fddc5545b8a.zip |
fdisk: Add support for altering GPT size
Adds an options (l) to the GPT menu to resize the GPT.
Diffstat (limited to 'disk-utils/fdisk-menu.c')
-rw-r--r-- | disk-utils/fdisk-menu.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/disk-utils/fdisk-menu.c b/disk-utils/fdisk-menu.c index b099cc3c2..ce3422c69 100644 --- a/disk-utils/fdisk-menu.c +++ b/disk-utils/fdisk-menu.c @@ -165,6 +165,7 @@ struct menu menu_gpt = { MENU_XENT('i', N_("change disk GUID")), MENU_XENT('n', N_("change partition name")), MENU_XENT('u', N_("change partition UUID")), + MENU_XENT('l', N_("change table length")), MENU_XENT('M', N_("enter protective/hybrid MBR")), MENU_XSEP(""), @@ -691,6 +692,7 @@ static int gpt_menu_cb(struct fdisk_context **cxt0, struct fdisk_partition *pa = NULL; size_t n; int rc = 0; + unsigned long length; assert(cxt); assert(ent); @@ -702,6 +704,12 @@ static int gpt_menu_cb(struct fdisk_context **cxt0, switch (ent->key) { case 'i': return fdisk_set_disklabel_id(cxt); + case 'l': + rc = fdisk_ask_number(cxt, 1, fdisk_get_npartitions(cxt), + ~(uint32_t)0, _("New maximum entries"), &length); + if (rc) + return rc; + return fdisk_gpt_set_npartitions(cxt, length); case 'M': mbr = fdisk_new_nested_context(cxt, "dos"); if (!mbr) |