Re: [Qemu-block] [PATCH v0 2/2] qmp: add block-set-copy-on-read command

2018-06-14 Thread Alberto Garcia
On Thu 14 Jun 2018 11:00:55 AM CEST, Kevin Wolf wrote: > Am 13.06.2018 um 18:41 hat Max Reitz geschrieben: >> On 2018-06-13 18:02, Eric Blake wrote: >> > On 06/13/2018 10:47 AM, Denis Plotnikov wrote: >> >> The command enables/disables copy-on-read mode for VM's disk while >> >> VM is running. >>

Re: [Qemu-block] [Qemu-devel] [PATCH 12/18] block-qdict: Clean up qdict_crumple() a bit

2018-06-14 Thread Markus Armbruster
Daniel P. Berrangé writes: > On Thu, Jun 14, 2018 at 10:40:58AM +0200, Kevin Wolf wrote: >> Am 13.06.2018 um 17:23 hat Markus Armbruster geschrieben: >> > Kevin Wolf writes: >> > >> > > Am 12.06.2018 um 14:58 hat Markus Armbruster geschrieben: >> > >> When you mix scalar and non-scalar keys,

Re: [Qemu-block] [Qemu-devel] [PATCH v2 1/4] block: Remove deprecated -drive geometry options

2018-06-14 Thread Markus Armbruster
Kevin Wolf writes: > The -drive options cyls, heads, secs and trans were deprecated in > QEMU 2.10. It's time to remove them. > > hd-geo-test tested both the old version with geometry options in -drive > and the new one with -device. Therefore the code using -drive doesn't > have to be replaced

Re: [Qemu-block] [PATCH v0 2/2] qmp: add block-set-copy-on-read command

2018-06-14 Thread Kevin Wolf
Am 13.06.2018 um 18:41 hat Max Reitz geschrieben: > On 2018-06-13 18:02, Eric Blake wrote: > > On 06/13/2018 10:47 AM, Denis Plotnikov wrote: > >> The command enables/disables copy-on-read mode for VM's disk while > >> VM is running. > >> > >> This is needed when using external disk readers to

Re: [Qemu-block] [PATCH 2/3] qcow2: refactor data compression

2018-06-14 Thread Kevin Wolf
Am 08.06.2018 um 21:20 hat Vladimir Sementsov-Ogievskiy geschrieben: > Make a separate function for compression to be parallelized later. > - use .avail_aut field instead of .next_out to calculate size of s/avail_aut/avail_out/ >compressed data. It looks more natural and it allows to keep

Re: [Qemu-block] [Qemu-devel] [PATCH v2 3/4] block: Remove deprecated -drive option serial

2018-06-14 Thread Richard W.M. Jones
On Thu, Jun 14, 2018 at 11:55:43AM +0200, Kevin Wolf wrote: > The -drive option serial was deprecated in QEMU 2.10. It's time to > remove it. > > Tests need to be updated to set the serial number with -global instead > of using the -drive option. Libguestfs uses this option to set the disk

Re: [Qemu-block] [Qemu-devel] [PATCH v2 4/4] block: Remove dead deprecation warning code

2018-06-14 Thread Markus Armbruster
Kevin Wolf writes: > We removed all options from the 'deprecated' array, so the code is dead > and can be removed as well. > > Signed-off-by: Kevin Wolf Reviewed-by: Markus Armbruster

Re: [Qemu-block] [PATCH 3/3] qcow2: add compress threads

2018-06-14 Thread Denis V. Lunev
On 06/14/2018 04:16 PM, Kevin Wolf wrote: > Am 08.06.2018 um 21:20 hat Vladimir Sementsov-Ogievskiy geschrieben: >> Do data compression in separate threads. This significantly improve >> performance for qemu-img convert with -W (allow async writes) and -c >> (compressed) options. >> >>

Re: [Qemu-block] [Qemu-devel] [PATCH 12/18] block-qdict: Clean up qdict_crumple() a bit

2018-06-14 Thread Daniel P . Berrangé
On Thu, Jun 14, 2018 at 10:40:58AM +0200, Kevin Wolf wrote: > Am 13.06.2018 um 17:23 hat Markus Armbruster geschrieben: > > Kevin Wolf writes: > > > > > Am 12.06.2018 um 14:58 hat Markus Armbruster geschrieben: > > >> When you mix scalar and non-scalar keys, whether you get an "already > > >>

[Qemu-block] [PATCH v2 2/4] block: Remove deprecated -drive option addr

2018-06-14 Thread Kevin Wolf
The -drive option addr was deprecated in QEMU 2.10. It's time to remove it. Signed-off-by: Kevin Wolf Reviewed-by: Markus Armbruster Reviewed-by: Jeff Cody --- include/sysemu/blockdev.h | 1 - blockdev.c| 17 + device-hotplug.c | 4

[Qemu-block] [PATCH v2 4/4] block: Remove dead deprecation warning code

2018-06-14 Thread Kevin Wolf
We removed all options from the 'deprecated' array, so the code is dead and can be removed as well. Signed-off-by: Kevin Wolf --- blockdev.c | 12 1 file changed, 12 deletions(-) diff --git a/blockdev.c b/blockdev.c index 695e10d398..4ab3d6ec0b 100644 --- a/blockdev.c +++

[Qemu-block] [PATCH v2 1/4] block: Remove deprecated -drive geometry options

2018-06-14 Thread Kevin Wolf
The -drive options cyls, heads, secs and trans were deprecated in QEMU 2.10. It's time to remove them. hd-geo-test tested both the old version with geometry options in -drive and the new one with -device. Therefore the code using -drive doesn't have to be replaced there, we just need to remove

[Qemu-block] [PATCH v2 3/4] block: Remove deprecated -drive option serial

2018-06-14 Thread Kevin Wolf
The -drive option serial was deprecated in QEMU 2.10. It's time to remove it. Tests need to be updated to set the serial number with -global instead of using the -drive option. Signed-off-by: Kevin Wolf Reviewed-by: Markus Armbruster Reviewed-by: Jeff Cody Signed-off-by: Kevin Wolf ---

[Qemu-block] [PATCH v2 0/4] block: Remove deprecated -drive options

2018-06-14 Thread Kevin Wolf
We deprecated a bunch of -drive options in 2.10, so let's remove them for 3.0. v2: - Simplified hd-geo-test code after removing test cases [Markus] - Split patch 3 and 4 so that the deprecation warning code can be easily restored if we ever need it again [Markus] Kevin Wolf (4): block:

Re: [Qemu-block] bug in reopen arch

2018-06-14 Thread Kevin Wolf
Am 12.06.2018 um 20:57 hat Vladimir Sementsov-Ogievskiy geschrieben: > Hi all! > > I've faced the following problem: > >     1. create image with dirty bitmap, a.qcow2 (start qemu and run qmp >     command block-dirty-bitmap-add) > >     2. run the following commands: > >     qemu-img

Re: [Qemu-block] [PULL 0/1] Block patches

2018-06-14 Thread Peter Maydell
On 13 June 2018 at 15:53, Jeff Cody wrote: > The following changes since commit 2ab09bf2f9f55b9fb8d2de6eb2ba2a8570e268e2: > > Merge remote-tracking branch > 'remotes/kraxel/tags/usb-20180612-pull-request' into staging (2018-06-12 > 15:34:34 +0100) > > are available in the git repository at: >

Re: [Qemu-block] [Qemu-devel] [PATCH 12/18] block-qdict: Clean up qdict_crumple() a bit

2018-06-14 Thread Kevin Wolf
Am 13.06.2018 um 17:23 hat Markus Armbruster geschrieben: > Kevin Wolf writes: > > > Am 12.06.2018 um 14:58 hat Markus Armbruster geschrieben: > >> When you mix scalar and non-scalar keys, whether you get an "already > >> set as scalar" or an "already set as dict" error depends on qdict > >>

Re: [Qemu-block] [PATCH v0 2/2] qmp: add block-set-copy-on-read command

2018-06-14 Thread Kevin Wolf
Am 14.06.2018 um 11:03 hat Alberto Garcia geschrieben: > On Thu 14 Jun 2018 11:00:55 AM CEST, Kevin Wolf wrote: > > Am 13.06.2018 um 18:41 hat Max Reitz geschrieben: > >> On 2018-06-13 18:02, Eric Blake wrote: > >> > On 06/13/2018 10:47 AM, Denis Plotnikov wrote: > >> >> The command

Re: [Qemu-block] [PATCH 3/3] qcow2: add compress threads

2018-06-14 Thread Kevin Wolf
Am 08.06.2018 um 21:20 hat Vladimir Sementsov-Ogievskiy geschrieben: > Do data compression in separate threads. This significantly improve > performance for qemu-img convert with -W (allow async writes) and -c > (compressed) options. > > Signed-off-by: Vladimir Sementsov-Ogievskiy Looks correct

Re: [Qemu-block] [Qemu-devel] [PATCH v2 3/4] block: Remove deprecated -drive option serial

2018-06-14 Thread Kevin Wolf
Am 14.06.2018 um 15:09 hat Richard W.M. Jones geschrieben: > On Thu, Jun 14, 2018 at 11:55:43AM +0200, Kevin Wolf wrote: > > The -drive option serial was deprecated in QEMU 2.10. It's time to > > remove it. > > > > Tests need to be updated to set the serial number with -global instead > > of

[Qemu-block] [RFC PATCH 09/10] block: Add a 'x-blockdev-reopen' QMP command

2018-06-14 Thread Alberto Garcia
This command allows reopening an arbitrary BlockDriverState with a new set of options. Some options (e.g node-name) cannot be changed and some block drivers don't allow reopening, but otherwise this command is modelled after 'blockdev-add' and the state of the reopened BlockDriverState should

[Qemu-block] [RFC PATCH 08/10] block: Add bdrv_reset_options_allowed()

2018-06-14 Thread Alberto Garcia
bdrv_reopen_prepare() receives a BDRVReopenState with (among other things) a new set of options to be applied to that BlockDriverState. If an option is missing then it means that we want to reset it to its default value rather than keeping the previous one. This way the state of the block device

[Qemu-block] [RFC PATCH 03/10] block: Allow changing 'detect-zeroes' on reopen

2018-06-14 Thread Alberto Garcia
'detect-zeroes' is one of the basic BlockdevOptions available for all drivers, but it's silently ignored by bdrv_reopen_prepare/commit(), so the user cannot change it and doesn't get an error explaining that it can't be changed. Since there's no reason why we shouldn't allow changing it and the

[Qemu-block] [RFC PATCH 01/10] file-posix: Forbid trying to change unsupported options during reopen

2018-06-14 Thread Alberto Garcia
The file-posix code is used for the "file", "host_device" and "host_cdrom" drivers, and it allows reopening images. However the only option that is actually processed is "x-check-cache-dropped", and changes in all other options (e.g. "filename") are silently ignored. While we could allow changing

[Qemu-block] [RFC PATCH 05/10] block: Add 'keep_old_opts' parameter to bdrv_reopen_queue()

2018-06-14 Thread Alberto Garcia
The bdrv_reopen_queue() function is used to create a queue with the BDSs that are going to be reopened and their new options. Once the queue is ready bdrv_reopen_multiple() is called to perform the operation. The original options from each one of the BDSs are kept, with the new options passed to

Re: [Qemu-block] [Qemu-devel] [PATCH 12/18] block-qdict: Clean up qdict_crumple() a bit

2018-06-14 Thread Kevin Wolf
Am 14.06.2018 um 13:52 hat Markus Armbruster geschrieben: > Kevin Wolf writes: > > > Am 13.06.2018 um 17:23 hat Markus Armbruster geschrieben: > >> Kevin Wolf writes: > >> > >> > Am 12.06.2018 um 14:58 hat Markus Armbruster geschrieben: > >> >> When you mix scalar and non-scalar keys, whether

Re: [Qemu-block] [PATCH 3/3] qcow2: add compress threads

2018-06-14 Thread Kevin Wolf
Am 14.06.2018 um 15:19 hat Denis V. Lunev geschrieben: > On 06/14/2018 04:16 PM, Kevin Wolf wrote: > > Am 08.06.2018 um 21:20 hat Vladimir Sementsov-Ogievskiy geschrieben: > >> Do data compression in separate threads. This significantly improve > >> performance for qemu-img convert with -W (allow

[Qemu-block] [PATCH] block/crypto: Simplify block_crypto_{open, create}_opts_init()

2018-06-14 Thread Markus Armbruster
block_crypto_open_opts_init() and block_crypto_create_opts_init() contain a virtual visit of QCryptoBlockOptions and QCryptoBlockCreateOptions less member "format", respectively. Change their callers to put member "format" in the QDict, so they can use the generated visitors for these types

Re: [Qemu-block] [PATCH v5 02/14] block/mirror: Convert to coroutines

2018-06-14 Thread Kevin Wolf
Am 13.06.2018 um 20:18 hat Max Reitz geschrieben: > In order to talk to the source BDS (and maybe in the future to the > target BDS as well) directly, we need to convert our existing AIO > requests into coroutine I/O requests. > > Signed-off-by: Max Reitz > Reviewed-by: Fam Zheng > --- >

[Qemu-block] [RFC PATCH 02/10] block: Allow changing 'discard' on reopen

2018-06-14 Thread Alberto Garcia
'discard' is one of the basic BlockdevOptions available for all drivers, but it's silently ignored by bdrv_reopen_prepare/commit(), so the user cannot change it and doesn't get an error explaining that it can't be changed. Since there's no reason why we shouldn't allow changing it and the

[Qemu-block] ping Re: [PATCH v2] util/async: avoid NULL pointer dereference

2018-06-14 Thread WangJie (Pluto)
ping On 2018/6/12 11:32, Jeff Cody wrote: > On Tue, Jun 12, 2018 at 07:26:25AM +0800, Jie Wang wrote: >> if laio_init create linux_aio failed and return NULL, NULL pointer >> dereference will occur when laio_attach_aio_context dereference >> linux_aio in aio_get_linux_aio. Let's avoid it and

[Qemu-block] [RFC PATCH 04/10] block: Allow changing 'force-share' on reopen

2018-06-14 Thread Alberto Garcia
'force-share' is one of the basic BlockdevOptions available for all drivers, but it's silently ignored by bdrv_reopen_prepare/commit(), so the user cannot change it and doesn't get an error explaining that it can't be changed. Since there's no reason why we shouldn't allow changing it and the

[Qemu-block] [RFC PATCH 00/10] Add a 'x-blockdev-reopen' QMP command

2018-06-14 Thread Alberto Garcia
Hi, here's my first attempt to implement a bdrv_reopen() QMP command. I'm tagging this as RFC because there are still several important things that need to be sorted out before I consider this stable enough. And I'd still prefix the command with an "x-" for a while. But let's get to the details.

[Qemu-block] [RFC PATCH 06/10] block: Allow changing the backing file on reopen

2018-06-14 Thread Alberto Garcia
This patch allows the user to change the backing file of an image that is being reopened. Here's what it does: - In bdrv_reopen_queue_child(): if the 'backing' option points to an image different from the current backing file then it means that the latter is going be detached so it must

[Qemu-block] [RFC PATCH 07/10] block: Add 'runtime_opts' and 'mutable_opts' fields to BlockDriver

2018-06-14 Thread Alberto Garcia
This patch adds two new fields to BlockDriver: - runtime_opts: list of runtime options for a particular block driver. We'll use this list later to detect what options are missing when we try to reopen a block device. - mutable_opts: names of the runtime options that can be

[Qemu-block] [RFC PATCH 10/10] qemu-iotests: Test the x-blockdev-reopen QMP command

2018-06-14 Thread Alberto Garcia
This patch adds several tests for the x-blockdev-reopen QMP command. Signed-off-by: Alberto Garcia --- tests/qemu-iotests/220 | 724 + tests/qemu-iotests/220.out | 5 + tests/qemu-iotests/group | 1 + 3 files changed, 730 insertions(+)

Re: [Qemu-block] [PATCH v5 11/14] job: Add job_progress_increase_remaining()

2018-06-14 Thread Kevin Wolf
Am 13.06.2018 um 20:18 hat Max Reitz geschrieben: > Signed-off-by: Max Reitz Reviewed-by: Kevin Wolf

[Qemu-block] [PATCH v2 09/18] block: Make remaining uses of qobject input visitor more robust

2018-06-14 Thread Markus Armbruster
Remaining uses of qobject_input_visitor_new_keyval() in the block subsystem: * block_crypto_create_opts_init() Currently doesn't visit any non-string scalars, thus safe. It's called from - block_crypto_open_luks() Creates the QDict with qemu_opts_to_qdict_filtered(), which creates

[Qemu-block] [PATCH v2 01/18] rbd: Drop deprecated -drive parameter "filename"

2018-06-14 Thread Markus Armbruster
Parameter "filename" is deprecated since commit 91589d9e5ca, v2.10.0. Time to get rid of it. Signed-off-by: Markus Armbruster Reviewed-by: Kevin Wolf --- block/rbd.c | 16 1 file changed, 16 deletions(-) diff --git a/block/rbd.c b/block/rbd.c index a16431e267..40c6e4185f

[Qemu-block] [PATCH v2 13/18] block-qdict: Simplify qdict_is_list() some

2018-06-14 Thread Markus Armbruster
Signed-off-by: Markus Armbruster Reviewed-by: Kevin Wolf --- qobject/block-qdict.c | 27 +++ 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/qobject/block-qdict.c b/qobject/block-qdict.c index 36cf58acc8..e51a3d2c0f 100644 --- a/qobject/block-qdict.c +++

[Qemu-block] [PATCH v2 05/18] block: Fix -blockdev for certain non-string scalars

2018-06-14 Thread Markus Armbruster
Configuration flows through the block subsystem in a rather peculiar way. Configuration made with -drive enters it as QemuOpts. Configuration made with -blockdev / blockdev-add enters it as QAPI type BlockdevOptions. The block subsystem uses QDict, QemuOpts and QAPI types internally. The

[Qemu-block] [PATCH v2 17/18] rbd: New parameter auth-client-required

2018-06-14 Thread Markus Armbruster
Parameter auth-client-required lets you configure authentication methods. We tried to provide that in v2.9.0, but backed out due to interface design doubts (commit 46fcc16). This commit is similar to what we backed out, but simpler: we use a list of enumeration values instead of a list of

[Qemu-block] [PATCH v2 06/18] block: Fix -drive for certain non-string scalars

2018-06-14 Thread Markus Armbruster
The previous commit fixed -blockdev breakage due to misuse of the qobject input visitor's keyval flavor in bdrv_file_open(). The commit message explain why using the plain flavor would be just as wrong; it would break -drive. Turns out we break it in three places: nbd_open(), sd_open() and

[Qemu-block] [PATCH v2 11/18] block-qdict: Tweak qdict_flatten_qdict(), qdict_flatten_qlist()

2018-06-14 Thread Markus Armbruster
qdict_flatten_qdict() skips copying scalars from @qdict to @target when the two are the same. Fair enough, but it uses a non-obvious test for "same". Replace it by the obvious one. While there, improve comments. Signed-off-by: Markus Armbruster Reviewed-by: Kevin Wolf ---

[Qemu-block] [PATCH v2 16/18] block: Fix -blockdev / blockdev-add for empty objects and arrays

2018-06-14 Thread Markus Armbruster
-blockdev and blockdev-add silently ignore empty objects and arrays in their argument. That's because qmp_blockdev_add() converts the argument to a flat QDict, and qdict_flatten() eats empty QDict and QList members. For instance, we ignore an empty BlockdevOptions member @cache. No real harm,

[Qemu-block] [PATCH v2 12/18] block-qdict: Clean up qdict_crumple() a bit

2018-06-14 Thread Markus Armbruster
When you mix scalar and non-scalar keys, whether you get an "already set as scalar" or an "already set as dict" error depends on qdict iteration order. Neither message makes much sense. Replace by ""Cannot mix scalar and non-scalar keys". This is similar to the message we get for mixing list

[Qemu-block] [PATCH v2 18/18] rbd: New parameter key-secret

2018-06-14 Thread Markus Armbruster
Legacy -drive supports "password-secret" parameter that isn't available with -blockdev / blockdev-add. That's because we backed out our first try to provide it there due to interface design doubts, in commit 577d8c9a811, v2.9.0. This is the second try. It brings back the parameter, except it's

[Qemu-block] [PATCH v2 08/18] block: Factor out qobject_input_visitor_new_flat_confused()

2018-06-14 Thread Markus Armbruster
Signed-off-by: Markus Armbruster Reviewed-by: Kevin Wolf --- block/nbd.c | 7 ++- block/nfs.c | 7 ++- block/parallels.c | 7 ++- block/qcow.c | 7 ++- block/qcow2.c | 7 ++- block/qed.c | 7 ++- block/rbd.c

[Qemu-block] [PATCH v2 02/18] iscsi: Drop deprecated -drive parameter "filename"

2018-06-14 Thread Markus Armbruster
Parameter "filename" is deprecated since commit 5c3ad1a6a8f, v2.10.0. Time to get rid of it. Signed-off-by: Markus Armbruster Reviewed-by: Kevin Wolf --- block/iscsi.c | 23 ++- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/block/iscsi.c b/block/iscsi.c

[Qemu-block] [PATCH v2 14/18] check-block-qdict: Rename qdict_flatten()'s variables for clarity

2018-06-14 Thread Markus Armbruster
Signed-off-by: Markus Armbruster Reviewed-by: Kevin Wolf --- tests/check-block-qdict.c | 57 --- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/tests/check-block-qdict.c b/tests/check-block-qdict.c index 5b9f4d506e..29f58a2d3d 100644 ---

[Qemu-block] [PATCH v2 15/18] check-block-qdict: Cover flattening of empty lists and dictionaries

2018-06-14 Thread Markus Armbruster
Signed-off-by: Markus Armbruster Reviewed-by: Kevin Wolf --- tests/check-block-qdict.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/check-block-qdict.c b/tests/check-block-qdict.c index 29f58a2d3d..2da16f01a6 100644 --- a/tests/check-block-qdict.c +++

[Qemu-block] [PATCH v2 00/18] block: Configuration fixes and rbd authentication

2018-06-14 Thread Markus Armbruster
PATCH 01-17 are configuration fixes and cleanup, in particular -blockdev driver=nfs,... and -drive driver=(nbd|sheepdog|ssh),... with non-string scalars. PATCH 18-19 provide support for configuring rbd authentication. I'm happy to split the series if that helps. Jeff Cody tested the RFC on his

[Qemu-block] [PATCH v2 03/18] block: Add block-specific QDict header

2018-06-14 Thread Markus Armbruster
From: Max Reitz There are numerous QDict functions that have been introduced for and are used only by the block layer. Move their declarations into an own header file to reflect that. While qdict_extract_subqdict() is in fact used outside of the block layer (in util/qemu-config.c), it is still

[Qemu-block] [PATCH v2 04/18] qobject: Move block-specific qdict code to block-qdict.c

2018-06-14 Thread Markus Armbruster
Pure code motion, except for two brace placements and a comment tweaked to appease checkpatch. Signed-off-by: Markus Armbruster Reviewed-by: Kevin Wolf --- MAINTAINERS | 2 + qobject/Makefile.objs | 1 + qobject/block-qdict.c | 640

Re: [Qemu-block] [Qemu-devel] [PATCH] [RFC] aio: properly bubble up errors from initialization

2018-06-14 Thread no-reply
Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 20180614232119.31669-1-naravamu...@digitalocean.com Subject: [Qemu-devel] [PATCH] [RFC] aio: properly bubble up errors from initialization === TEST SCRIPT BEGIN ===

[Qemu-block] [PATCH] [RFC] aio: properly bubble up errors from initialization

2018-06-14 Thread Nishanth Aravamudan
laio_init() can fail for a couple of reasons, which will lead to a NULL pointer dereference in laio_attach_aio_context(). To solve this, add a aio_linux_aio_setup() path which is called where aio_get_linux_aio() is called currently, but can propogate errors up. virtio-block and virtio-scsi call

Re: [Qemu-block] [Qemu-devel] [PATCH v3 0/8] discard blockstats

2018-06-14 Thread Anton Nefedov
well, build tests failed due to the lack of qapi patches this series is based on :) (http://lists.nongnu.org/archive/html/qemu-devel/2018-06/msg03638.html) On 13/6/2018 9:44 PM, no-re...@patchew.org wrote: Hi, This series failed build test on s390x host. Please find the details below. Type:

Re: [Qemu-block] [PATCH v4 00/10] New block driver: blklogwrites

2018-06-14 Thread Ari Sundholm
ping. Any comments or suggestions would be welcome whenever you have the time. :) Thank you, Ari Sundholm a...@tuxera.com On 06/08/2018 03:32 PM, Ari Sundholm wrote: This patch series adds a new block driver, blklogwrites, to QEMU. The driver is given two block devices: a raw device backed