Hello, thank you for the quick reply. On 3/22/21 9:29 AM, Vladimir Sementsov-Ogievskiy wrote: > Hi Patrik! > > 20.03.2021 12:32, Patrik Janoušek wrote: >> Currently, QEMU doesn't support persistent dirty bitmaps for raw format > > That's right, we don't have such feature now. > >> and also dirty bitmaps are for internal use only, and cannot be accessed >> using third-party applications. > > And that's is not. Bitmaps are accessible through bitmap QMP API > > block-dirty-bitmap-{add,remove,clear,merge} I know about these commands, but they're useless to me without providing access to the content of bitmap. > > And to retrieve the context of dirty bitmap you can export it through > NBD protocol (see bitmaps argument in nbd specific options of > block-export-add command) Ok, I'll look at it. > >> These facts are very limiting >> in case someone would like to develop their own backup tool becaouse >> without access to the dirty bitmap it would be possible to implement >> only full backups. > > We do have external incremental backups, based on Qemu bitmap API. But > it depends of course on qcow2 persistent bitmaps feature. Yes, I know. And that's the problem. The point of my bachelor thesis is to implement a backup solution for the raw format. > >> And without persistent dirty bitmaps, it wouldn't >> be possible to keep track of changed data after QEMU is restarted. And >> this is exactly what I do as a part of my bachelor thesis. I've >> developed a tool that is able to create incremental backups of drives >> in raw format that are LVM volumes (ability to create snapshot is >> required). >> >> Please keep in mind that this is my first submission to such a large >> project and also the first time when I send patch over the email. >> So I hope I did it correctly. >> >> Patrik Janoušek (2): >> block/raw: added support of persistent dirty bitmaps >> qapi: implementation of the block-dirty-bitmap-dump command >> >> block/meson.build | 1 + >> block/monitor/bitmap-qmp-cmds.c | 61 ++++++++ >> block/raw-format-bitmap.c | 163 ++++++++++++++++++++ >> block/raw-format.c | 256 ++++++++++++++++++++++++++++++-- >> block/raw-format.h | 50 +++++++ >> qapi/block-core.json | 64 +++++++- >> 6 files changed, 583 insertions(+), 12 deletions(-) >> create mode 100644 block/raw-format-bitmap.c >> create mode 100644 block/raw-format.h >> > > Patrik Janoušek
IČO: 09291849 +420 724 123 897 <tel:+420 724 123 897> p...@patrikjanousek.cz <mailto:p...@patrikjanousek.cz>