[libvirt] [PATCH v2] Block info query: Add check for transient domain
Eric Blake
eblake at redhat.com
Fri Jan 24 16:26:42 UTC 2014
On 01/23/2014 07:57 PM, John Ferlan wrote:
> Currently the qemuDomainGetBlockInfo will return allocation == physical
> for most backing stores. For a qcow2 block backed device it's possible
> to return the highest lv extent allocated from qemu for an active guest.
> That is a value where allocation != physical and one would hope be less.
> However, if the guest is not running, then the code falls back to returning
> allocation == physical. This turns out to be problematic for rhev which
> monitors the size of the backing store. During a migration, before the
> VM has been started on the target and while it is deemed inactive on the
> source, there's a small window of time where the allocation is returned
> as physical triggering the code to extend the file unnecessarily.
>
> Since rhev uses transient domains and this is edge condition for a transient
> domain, rather than returning good status and allocation == physical when
> this "window of opportunity" exists, this patch will check for a transient
> (or non persistent) domain and return a failure to the caller rather than
> returning the defaults. For a persistent domain, the defaults will be
> returned. The description for the virDomainGetBlockInfo has been updated
> to describe the phenomena.
>
> @@ -10300,6 +10310,15 @@ cleanup:
> VIR_FREE(alias);
> virStorageFileFreeMetadata(meta);
> VIR_FORCE_CLOSE(fd);
> +
> + /* If we failed to get data from a domain because it's inactive and
> + * it's not a persisent domain, then force failure.
s/persisent/persistent/
ACK.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140124/bb21738d/attachment-0001.sig>
More information about the libvir-list
mailing list