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
|
|