hi!

im currently experimenting with image fleecing, using the copy-before-write
technique during blockdev-backup. So far, i was able to create full backups
using the following approach:

1) Create target backup and fleecing image with same size as original disk,
attach them to qemu:

 > qemu-img create -f qcow2 /tmp/fleece.qcow2 5G
 > qemu-img create -f qcow2 /tmp/backup.qcow2 5G
 > blockdev-add driver=qcow2 node-name=fleecie 
 > file={"driver":"file","filename":"/tmp/fleece.qcow2"}
 > blockdev-add driver=qcow2 node-name=backup-target-file 
 > file={"driver":"file","filename":"/tmp/backup.qcow2"}

2) Create a persistent bitmap

 > block-dirty-bitmap-add node=drive-virtio0 name=bitmap persistent=true

3) Add a copy-before-write device, targeting the fleece image:

 > blockdev-add driver=copy-before-write node-name=cbw file=drive-virtio0 
 > target=fleecie

4) Modify the qdev to point at the copy-before-write filter:

 > qom-set path=/machine/peripheral/virtio0/virtio-backend property=drive 
 > value=cbw

5) Add an snapshot-access image with CBW as reference:

 > blockdev-add driver=snapshot-access file=cbw node-name=snapshot-backup-source

6) Create a full backup:

 > blockdev-backup device=snapshot-backup-source target=backup-target-file 
 > sync=full job-id=test

7) Cleanup and dettach all the images.

Now, if repeating the same process attempting to start an incremental backup
with "sync=incremental" and the bitmap parameter, the Backup will fail with:

 > "Bitmap 'bitmap' could not be found"

Looking at the query-block output, the bitmap seems to be inactive (or not
available during CBW beeing active).

I think im missing some action at step 7, to handle the bitmap correctly in
order to be able to use it with a next incremental backup using a CBW filter.

Any kind of help is highly appreciated :-)

bye,
        - michael

Reply via email to