22.11.2016 15:01, Nikolay Shirokovskiy wrote:
Hi, everyone.

   There is a problem with current incremental backups. Imagine I ask qemu to
make an incremental backup then go away and return back when backup
job is finished. Qemu process dismisses the job completely and I missed
all the events so I don't know the result of the operation and what is
most important I don't know the base for dirty bitmap now. In case of failure
it is previous backup and in case of success it is the last backup. Qemu does
not track dirty bitmap base for me so I have no choice other then clear
dirty bitmap and make full backup which would be rather unexpected from user
POV (The situation of going away/coming back is libvirt crash/restart of 
course.)

   I guess problem has wider scope. In case I miss successfull completion of 
full
backup my only option is to drop backup file and redo the backup completely
which is rather wasteful. AFAIU I can not query backup completion result from
backup file itself. I guess there can be similar issues for other qemu jobs.

Nikolay

I suggest an additional int field for BdrvDirtyBitmap, which will count number of bdrv_dirty_bitmap_abdicate() calls and will be available to the user through qmp query-block. So, for the user, <counter incremented> <=> <backup was successful and bitmap updated>.


--
Best regards,
Vladimir


Reply via email to