[libvirt] [PATCH v2 3/3] disk: Force clearing of the first 2048 bytes of device prior to mklabel
Daniel P. Berrange
berrange at redhat.com
Fri Apr 7 14:31:59 UTC 2017
On Fri, Apr 07, 2017 at 04:27:40PM +0200, Peter Krempa wrote:
> On Fri, Apr 07, 2017 at 09:52:09 -0400, John Ferlan wrote:
> > https://bugzilla.redhat.com/show_bug.cgi?id=1439132
> >
> > During 'matrix' testing of all possible combinations I found that if
> > device is formated with "gpt" first, then an attempt is made to format
> > using "mac", a startup will fail. By adding a clearing of the first
> > 2048 bytes of the device (similar to the logical pool code), the issue
> > is resolved.
>
> I'm not a fan of this and neither thing this is robust enough:
>
> The problem here is that apparently the "mac" table fits into the first
> block on the disk. Since the GPT disklabel is stored at LBA address 1
> it is not overwritten at all. Thus it's apparent that the detection tool
> then prefers GPT over a older disklabel.
>
> The GPT disklabel has also a secondary copy at the last LBA of the disk.
>
> As for robustness: SECTOR_SIZE is defined as 512 in our code, thus this
> code nukes 2k of data. For devices with 4k sectors which are already
> available this won't help at all, since LBA 0 will still contain the
> protective MBR, and the 3,5k left of LBA 0 will be unused. GPT disklabel
> still will start at LBA 1.
Personally I'd forget about sectors and just nuke 1 MB of data at start
and end of the device. The time for 2k vs 1 MB is negligible.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|
More information about the libvir-list
mailing list