[libvirt] [PATCH 3/3] storage: Adjustments to disk backend to use stateDir

Daniel P. Berrange berrange at redhat.com
Wed Jan 14 09:46:01 UTC 2015

On Tue, Jan 13, 2015 at 04:12:32PM -0500, John Ferlan wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=1138516
> The disk backend uses 'parted' in order to create and delete partitions
> on the disk for use in the pool. At creation time, one can specify a
> specific "name" for the volume as well as a specific volume target
> format type. The name and volume target type "survive" only as long
> as the pool is not refreshed or the libvirtd not restarted/reloaded.
> The action immediately prior to the calling all the backend refreshPool
> API's is to clear out all the existing volumes from the pool. The
> theory being the refresh will be able to find all elements of the
> pool using some mechanism. The disk refreshPool backend will use the
> libvirt_parthelper utility to read the partitions found on the disk
> in order to regenerate the elements of the pool Unfortunately, since
> the "name" and target format type cannot be encoded, the data is now
> lost and the defaults are used (for the "name", the partition path
> is used and the default of 'none' is used for the target format type).
> This patch solves this by adding the ability to save the XML generated
> at create time into the stateDir and then use that during the refreshPool
> backend API call to restore the specific fields that are lost.

I don't really think we should be adding a lookaside cache for this.
We should simply not permit arbitrary user supplied names for disk
based volumes. The names should be required to match the defined
naming scheme for disk partitions.  I could have sworn that we had
enforced that already when I first wrote this, but perhaps that
check got lost somewhere along the way. Likewise for the format - we
should just rely on partition table format data

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the libvir-list mailing list