From: Manos Pitsidianakis <el13635@mail.ntua.gr>
To: qemu-devel <qemu-devel@nongnu.org>
Cc: qemu-block <qemu-block@nongnu.org>,
Alberto Garcia <berto@igalia.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Kevin Wolf <kwolf@redhat.com>
Subject: [Qemu-devel] [PATCH v2 0/2] add internal backup job and write-threshold filter drivers
Date: Tue, 15 Aug 2017 11:18:52 +0300 [thread overview]
Message-ID: <20170815081854.14568-1-el13635@mail.ntua.gr> (raw)
This is part of my GSOC project, which is refactoring hardcoded block layer
features into filter drivers. Block filter drivers are inserted into the graph
only when a feature is needed. This makes the block layer more modular and
reuses the block driver abstraction that is already present.
Before write notifiers currently have two users:
block/backup.c uses before write notifiers to intercept write requests. This
can be refactored to use the filter driver interface by injecting an implicit
filter node to intercept the write requests and call backup_do_cow().
block/write-threshold.c checks that write requests do not pass a user set
offset and issue an event when they do. A new write-threshold driver can
perform the same function and be added by the user when
block-{insert,remove}-node are introduced. It is not trivial to convert the
existing interface (block-set-write-threshold) to using the filter driver.
v2:
add motivation in commit messages
dropped hunk that removed before-write notifiers
Manos Pitsidianakis (2):
block: use internal filter node in backup
block: add filter driver to block/write-threshold.c
block.c | 89 ++++++++++++--
block/backup.c | 207 +++++++++++++++++++++++++++----
block/mirror.c | 7 +-
block/qapi.c | 2 +-
block/write-threshold.c | 264 +++++++++++++++++++++++++++++++++++-----
blockdev.c | 2 +-
include/block/block.h | 8 +-
include/block/write-threshold.h | 22 ++--
qapi/block-core.json | 19 ++-
tests/qemu-iotests/141.out | 2 +-
tests/test-write-threshold.c | 40 +++---
11 files changed, 557 insertions(+), 105 deletions(-)
--
2.11.0
next reply other threads:[~2017-08-15 8:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-15 8:18 Manos Pitsidianakis [this message]
2017-08-15 8:18 ` [Qemu-devel] [PATCH v2 1/2] block: use internal filter node in backup Manos Pitsidianakis
2017-08-16 13:25 ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-08-16 20:11 ` Manos Pitsidianakis
2017-08-17 14:06 ` Stefan Hajnoczi
2017-10-02 12:45 ` [Qemu-devel] " Kevin Wolf
2017-08-15 8:18 ` [Qemu-devel] [PATCH v2 2/2] block: add filter driver to block/write-threshold.c Manos Pitsidianakis
2017-10-02 12:52 ` Kevin Wolf
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=20170815081854.14568-1-el13635@mail.ntua.gr \
--to=el13635@mail.ntua.gr \
--cc=berto@igalia.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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).