[libvirt] [PATCH] qemu: blockCopy: Allow shallow block copy into a raw image

Shanzhi Yu shyu at redhat.com
Mon Apr 27 14:11:40 UTC 2015



On 04/27/2015 08:01 PM, Peter Krempa wrote:
> The documentation states that for shallow block copy the image has to
> have the same guest visible content as backing file of the current
> image. This condition can be achieved also with a raw file (or a qcow
> without a backing file) so remove the condition that would disallow it.
>
> (This patch additionally fixes crash described in
>  https://bugzilla.redhat.com/show_bug.cgi?id=1215569 since it removes
>  the code)
> ---
>  src/qemu/qemu_driver.c | 10 ----------
>  1 file changed, 10 deletions(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 70bf7aa..f979d33 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -16815,16 +16815,6 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
>      if (qemuDomainDetermineDiskChain(driver, vm, disk, false, true) < 0)
>          goto endjob;
>
> -    if ((flags & VIR_DOMAIN_BLOCK_COPY_SHALLOW) &&
> -        mirror->format == VIR_STORAGE_FILE_RAW &&
> -        disk->src->backingStore->path) {
> -        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> -                       _("disk '%s' has backing file, so raw shallow copy "
> -                         "is not possible"),
> -                       disk->dst);
> -        goto endjob;
> -    }
> -

Although a shallow blockcopy of file without backing file is
semantically correct, but still feel a little weird.
And, a shallow blockcommit of file without backing file will failed with
error
"error: invalid argument: top '/var/lib/libvirt/images/raw.img' in chain
for 'vda' has no backing file"

Should libvirt post error when try a shallow blockcopy of file without
backing file, just as shallow blockcommit?

>      /* Prepare the destination file.  */
>      /* XXX Allow non-file mirror destinations */
>      if (!virStorageSourceIsLocalStorage(mirror)) {

-- 
Regards
shyu




More information about the libvir-list mailing list