Subject: bug#21522: assertion metadata_length > 0 in add_logical_part_metadata failed

From: "Brian C. Lane" <[email-masked]>
Date: Wed, 23 Sep 2015 17:15:25 -0700

On Sat, Sep 19, 2015 at 09:26:20PM -0700, James Ring wrote:
> Your report should contain the version of this release (3.2)
> 
> along with the error message below, the output of
> 
> 
> parted DEVICE unit co print unit s print
> 
> 
> and the following history of commands you entered.
> 
> Also include any additional information about your setup you
> 
> consider important.
> 
> 
> Assertion (metadata_length > 0) at
> ../../../libparted/labels/dos.c:2313 in function
> add_logical_part_metadata() failed.
> 
> 
> Output of parted /dev/sdb unit co print unit s print is the same.
> 
> fdisk /dev/sdb:
> Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
> 
> Units: sectors of 1 * 512 = 512 bytes
> 
> Sector size (logical/physical): 512 bytes / 512 bytes
> 
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> 
> Disklabel type: dos
> 
> Disk identifier: 0x25978550
> 
> 
> Device     Boot      Start        End    Sectors   Size Id Type
> 
> /dev/sdb1  *          2048     206847     204800   100M  7 HPFS/NTFS/exFAT
> 
> /dev/sdb2           206848 1022138367 1021931520 487.3G  7 HPFS/NTFS/exFAT
> 
> /dev/sdb3       1022138368 1025413119    3274752   1.6G 83 Linux
> 
> /dev/sdb4       1431537662 1953523711  521986050 248.9G  5 Extended
> 
> /dev/sdb5       1431537664 1930088447  498550784 237.7G 83 Linux
> 
> /dev/sdb6       1930088448 1953523711   23435264  11.2G 82 Linux swap / Solaris

This isn't actually a bug, logical partitions need to have at least 1
sector between them for metadata storage. parted enforces this when
creating logical partitions, but other tools do not.

See the comments before _log_meta_overlap_constraint for some of the
background.

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