Hi all. This is the early begin of the series which aims to add external backup api. This is needed to allow backup software use our dirty bitmaps.
Vmware and Parallels Cloud Server have this feature. There is only one patch here, about querying dirty bitmap from qemu by qmp command. It is just an updated and clipped (hmp command removed) old my patch "[PATCH RFC v3 01/14] qmp: add query-block-dirty-bitmap". Before writing the whole thing I'd like to discuss the details. Or, may be there are existing plans on this topic, or may be someone already works on it? I see it like this: ===== - add qmp commands for dirty-bitmap functions: create_successor, abdicate, reclaime. - make create-successor command transaction-able - add query-block-dirty-bitmap qmp command then, external backup: qmp transaction { external-snapshot bitmap-create-successor } qmp query frozen bitmap, not acquiring aio context. do external backup, using snapshot and bitmap if (success backup) qmp bitmap-abdicate else qmp bitmap-reclaime qmp merge snapshot ===== In the following patch query-bitmap acquires aio context. This must be ofcourse dropped for frozen bitmap. But to make it in true way, I think, I should check somehow that this is not just frozen bitmap, but the bitmap frozen by qmp command, to avoid incorrect quering of bitmap frozen by internal backup (or other mechanizm).. May be, it is not necessary. -- 1.8.3.1