From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: qemu-block@nongnu.org, qemu-devel@nongnu.org
Cc: armbru@redhat.com, pbonzini@redhat.com, eblake@redhat.com,
mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com,
den@openvz.org
Subject: [Qemu-devel] [PATCH v4 0/6] NBD export
Date: Fri, 8 Jun 2018 18:23:47 +0300 [thread overview]
Message-ID: <20180608152353.98712-1-vsementsov@virtuozzo.com> (raw)
Hi all.
This is a proposal and realization of new NBD meta context: qemu.
New possible queries will look like:
qemu:dirty-bitmap:<export-bitmap-name>
Mapping from export-bitmap-name to BdrvDirtyBitmap is done through qmp
command nbd-server-add-bitmap. For now, only one bitmap export is
allowed per NBD export, however it may be easily improved if needed
(we don't have such cases for now)
Client and testing.
I wrote client code for Virtuozzo, but it turned out to be unused,
actually it's used only for tests. We don't have cases, where we need
to import dirty bitmap through qemu nbd-client. All this done for
exporting dirty bitmaps to the third tool. So, I think, it is not worth
refactoring, rebasing and merging client part upstream, if there are no
real usage cases.
v4:
01: add trace for -skipped case
02: new
03: trace -skipped case in nbd_meta_pattern, rebase on 02
04: fix nbd_meta_qemu_query: use meta->exp instead of client->exp, rebase on 02
v3:
01: new
02: rewritten to satisfy changes in 03, drop r-b
03: - fix comments
- rewrite nbd_meta_bitmap_query() and rename it to
nbd_meta_qemu_query(): parse 'qemu:dirty-bitmaps:' for LIST
option to represent list of all dirty-bitmap contexts.
- trace points
- s/512/BDRV_SECTOR_SIZE/
drop TODO comment
04: s/2.13/3.0
05: new
v2:
01 from v1 is dropped: actually, we don't need generic namespace
parsing for now (especially, after moving to qemu: namespace, which has
the same length as base:), lets postpone it.
01: Improve comment wording (Eric), add Eric's r-b
02: improve commit message
move NBD_STATE_DIRTY to header
add comment on NBD_MAX_BITMAP_EXTENTS
remove MAX_EXTENT_LENGTH and instead update add_extents() which
uses it
use export_bitmap_context instead of export_bitmap_name to reduce
operations on it
move from qemu-dirty-bitmap to qemu:dirty-bitmap
other way to parse namespace name
handle FLAG_DF
03: Improve specification of new qmp command (Eric)
Vladimir Sementsov-Ogievskiy (6):
nbd/server: fix trace
nbd/server: refactor NBDExportMetaContexts
nbd/server: add nbd_meta_empty_or_pattern helper
nbd/server: implement dirty bitmap export
qapi: new qmp command nbd-server-add-bitmap
docs/interop: add nbd.txt
docs/interop/nbd.txt | 37 ++++++
qapi/block.json | 23 ++++
include/block/nbd.h | 6 +
blockdev-nbd.c | 23 ++++
nbd/server.c | 347 +++++++++++++++++++++++++++++++++++++++++++++------
MAINTAINERS | 1 +
6 files changed, 396 insertions(+), 41 deletions(-)
create mode 100644 docs/interop/nbd.txt
--
2.11.1
next reply other threads:[~2018-06-08 15:24 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-08 15:23 Vladimir Sementsov-Ogievskiy [this message]
2018-06-08 15:23 ` [Qemu-devel] [PATCH v4 1/6] nbd/server: fix trace Vladimir Sementsov-Ogievskiy
2018-06-08 15:23 ` [Qemu-devel] [PATCH v4 2/6] nbd/server: refactor NBDExportMetaContexts Vladimir Sementsov-Ogievskiy
2018-06-08 17:21 ` Vladimir Sementsov-Ogievskiy
2018-06-08 15:23 ` [Qemu-devel] [PATCH v4 3/6] nbd/server: add nbd_meta_empty_or_pattern helper Vladimir Sementsov-Ogievskiy
2018-06-08 15:23 ` [Qemu-devel] [PATCH v4 4/6] nbd/server: implement dirty bitmap export Vladimir Sementsov-Ogievskiy
2018-06-08 17:33 ` Vladimir Sementsov-Ogievskiy
2018-06-08 15:23 ` [Qemu-devel] [PATCH v4 5/6] qapi: new qmp command nbd-server-add-bitmap Vladimir Sementsov-Ogievskiy
2018-06-08 15:23 ` [Qemu-devel] [PATCH v4 6/6] docs/interop: add nbd.txt Vladimir Sementsov-Ogievskiy
2018-06-08 16:44 ` [Qemu-devel] [PATCH v4 0/6] NBD export no-reply
2018-06-08 19:59 ` no-reply
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=20180608152353.98712-1-vsementsov@virtuozzo.com \
--to=vsementsov@virtuozzo.com \
--cc=armbru@redhat.com \
--cc=den@openvz.org \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@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).