From 18b266cea329b803a58af50254769f3de4eab9d9 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 9 Oct 2014 12:10:09 +0200 Subject: [PATCH] libfdisk: (gpt) follow explicit size, fiz size+1 buf Signed-off-by: Karel Zak --- libfdisk/src/gpt.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c index 8947a722f9..d7b3986781 100644 --- a/libfdisk/src/gpt.c +++ b/libfdisk/src/gpt.c @@ -1997,7 +1997,7 @@ static int gpt_add_partition( user_l = user_f + pa->size - 1; DBG(LABEL, ul_debug("size defined: %ju, end: %ju (last possible: %ju)", pa->size, user_l, dflt_l)); - if (user_l != dflt_l) + if (user_l != dflt_l && !pa->size_explicit) user_l = fdisk_align_lba_in_range(cxt, user_l, user_f, dflt_l) - 1; } else if (pa && pa->end_follow_default) { @@ -2029,7 +2029,10 @@ static int gpt_add_partition( if (user_l + (cxt->grain / cxt->sector_size) > dflt_l) user_l = dflt_l; */ - } if (user_l > user_f && user_l <= disk_l) + } else + user_l -= 1; + + if (user_l > user_f && user_l <= disk_l) break; } } -- 2.47.3