Subject: bug#20909: incorrect partition size calculation

From: "Brian C. Lane" <[email-masked]>
Date: Mon, 29 Jun 2015 10:43:36 -0700

On Sat, Jun 27, 2015 at 05:19:03AM +0300, Gena Makhomed wrote:
> Hello, All!
> 
> incorrect partition size calculation
> 
> # parted -v
> parted (GNU parted) 2.3
> 
> Model: ATA HGST HUS724040AL (scsi)
> Disk /dev/sda: 7814037168s
> 
> how to reproduce:
> 
> parted -s /dev/sda mklabel gpt
> parted -s /dev/sda -a none mkpart primary 34s 2047s
> parted -s /dev/sda set 1 bios_grub on
> parted -s /dev/sda mkpart primary 2048s 2099199s
> parted -s /dev/sda set 2 raid on
> parted -s /dev/sda mkpart primary 2099200s 102764543s
> parted -s /dev/sda set 3 raid on
> parted -s /dev/sda mkpart primary zfs 102764544s 7814037134s
> 
> parted
> (parted) unit s
> (parted) print free
> Model: ATA HGST HUS724040AL (scsi)
> Disk /dev/sda: 7814037168s
> Sector size (logical/physical): 512B/512B
> Partition Table: gpt
> 
> Number  Start       End          Size         File system  Name     Flags
>  1      34s         2047s        2014s                     primary bios_grub
>  2      2048s       2099199s     2097152s                  primary  raid
>  3      2099200s    102764543s   100665344s                primary  raid
>  4      102764544s  7814037134s  7711272591s               primary
> 
> (parted)
> 
> =======================================
> 
> parted reports what /dev/sda4 partition has size of 7711272591s
> but this is not true, partition size is 7711272590s:
> 
> 7814037168 - 2014 -  2097152 - 100665344 - 34 - 34 == 7711272590

You are off by 1. start and end are inclusive so the size of sda4 is:

1 + (7814037134 - 102764544) = 7711272591

-- 
Brian C. Lane | Anaconda Team | IRC: bcl #anaconda | Port Orchard, WA (PST8PDT)