[libvirt] [PATCH] qemu: blockcopy: Forbid using persistent bitmap granularity with raw vols

Shanzhi Yu shyu at redhat.com
Wed Jun 24 10:01:22 UTC 2015



On 06/24/2015 05:33 PM, Peter Krempa wrote:
> On Wed, Jun 24, 2015 at 16:48:16 +0800, Shanzhi Yu wrote:
>>
>> On 06/24/2015 03:11 PM, Peter Krempa wrote:
>>> qemu returns error but only in the event after the block job actually
>>> starts. Reject it upfront for a better error message.
>>>
>>> Instead of:
>>> $ virsh blockcopy vm hdc /tmp/raw.img --granularity 4096 --verbose --wait
>>> error: Block Copy unexpectedly failed
>>>
>>> You will now get:
>>> $ virsh blockcopy vm hdc /tmp/raw.img --granularity 4096 --verbose --wait
>>> error: unsupported configuration: granularity can't be used with target volume format
>> This can't avoid the cases that the source file has a raw format file as
>> backing file.
> AFAIK if the active image (top layer) is a qcow2, then the destination
> is also created as a qcow2 and thus the persistent bitmap granularity
> should work just fine.

Consider I have a guest as below:

# virsh dumpxml r7-raw|grep disk -A 8
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/rhel7-raw.s1'/>
      <backingStore type='file' index='1'>
        <format type='raw'/>
        <source file='/var/lib/libvirt/images/rhel7-raw.img'/>
        <backingStore/>
      </backingStore>
      <target dev='vda' bus='virtio'/>

case I:
# virsh blockcopy r7-raw vda /var/lib/libvirt/images/rhel7-raw.s1.cp  
--verbose --wait --granularity 4096 
error: Block Copy unexpectedly failed

case II:
# virsh blockcopy r7-raw vda /var/lib/libvirt/images/rhel7-raw.s1.cp  
--verbose --wait --granularity 4096  --shallow
Block Copy: [  0 %]error: Block Copy unexpectedly failed


> Peter

-- 
Regards
shyu




More information about the libvir-list mailing list