From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, eblake@redhat.com, armbru@redhat.com,
hreitz@redhat.com, kwolf@redhat.com,
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Subject: [PATCH 0/2] blockdev-add transaction
Date: Thu, 24 Feb 2022 18:13:26 +0100 [thread overview]
Message-ID: <20220224171328.1628047-1-vsementsov@virtuozzo.com> (raw)
Hi all!
If we want to do incremental backups with help of copy-before-write
filter bitmap parameter introduced in my in-flight series
"[PATCH v4 00/18] Make image fleecing more usable", we actually need to
create filter, insert it into graph and do some operations with bitmaps
in one transaction.
So, here is basic support for blockdev-add transaction, which may be
useful for any scenarios.
Also, I'll need to resend my "[PATCH RFC v2 0/4] blockdev-replace" with
transaction support as well.
Why I say that support is "basic"? Ideally we want an ability to call
several blockdev-add / blockdev-replace commands not updating the
permission and only then update permissions for all touched nodes. That
is more flexible and will allow more strict and simple permission
requirements in filter drivers. Still this means to implement
bdrv_open() transaction action (using Transaction API) which doesn't
update permissions (like most of internal graph update functions works
now). That's of course is more complicated than this patch. So, let's
start with something simple.
Vladimir Sementsov-Ogievskiy (2):
block: transaction support for blockdev-add
iotests: add blockdev-add-transaction
qapi/transaction.json | 11 +++
blockdev.c | 80 +++++++++++++------
.../tests/blockdev-add-transaction | 52 ++++++++++++
.../tests/blockdev-add-transaction.out | 6 ++
4 files changed, 124 insertions(+), 25 deletions(-)
create mode 100755 tests/qemu-iotests/tests/blockdev-add-transaction
create mode 100644 tests/qemu-iotests/tests/blockdev-add-transaction.out
--
2.31.1
next reply other threads:[~2022-02-24 17:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-24 17:13 Vladimir Sementsov-Ogievskiy [this message]
2022-02-24 17:13 ` [PATCH 1/2] block: transaction support for blockdev-add Vladimir Sementsov-Ogievskiy
2022-02-24 17:13 ` [PATCH 2/2] iotests: add blockdev-add-transaction Vladimir Sementsov-Ogievskiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220224171328.1628047-1-vsementsov@virtuozzo.com \
--to=vsementsov@virtuozzo.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).