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>
[email protected] <mailto:[email protected]>