[libvirt] [PATCH]: Export the 'label' on block devices

Daniel Veillard veillard at redhat.com
Thu Oct 16 09:26:23 UTC 2008


On Thu, Oct 16, 2008 at 09:43:58AM +0200, Chris Lalancette wrote:
> To support LVM partitioning in oVirt, one of the things we need is the ability
> to tell what kind of label is currently on a block device.  Here, a 'label' is
> used in the same sense that it is used in parted; namely, it defines which kind
> of partition table is on the disk, whether it be DOS, LVM2, SUN, BSD, etc.  Note
> that this is different than the partition type; those are things like Linux,
> FAT16, FAT32, etc.
> 
> This actually turns out to be fairly easy to implement; there are really only a
> few labels that are in common use, and they all have an easy signature to
> recognize (but see comments in the code about pc98).  This patch implements
> label detection on block devices in virStorageBackendUpdateVolInfoFD, and hooks
> it up to the iSCSI backend so it works there.
> 
> To keep code duplication down, I moved some of the enum's from
> storage_backend_disk.c into a common place.  Note, however, that there is a
> slight semantic change because of this.  Previously, if no label was found on a
> disk in storage_backend_disk.c, it would always return "dos" as the label type.
>  That's not actually true, though; if it's a completely zeroed disk, for
> instance, it really just has label type of 'unknown'.  This patch changes to the
> new semantic of 'unknown' for label types we don't understand.  I don't think
> this will be a huge issue for compatibility, but there could be something I'm
> missing.
> 
> Otherwise, this patch has been tested by me to work, and now when you do:

  Patch looks fine to me +1
  I wonder what happens when you hit a block device which had no label
or  partition table, and has a raw file system on it directly. I
sometimes do that by mistake on USB devices but the kernel still manage
to handle them ... sometimes.

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list