[Qemu-block] [PATCH v0 1/2] block: check for read-only on copy-on-read setting

2018-06-13 Thread Denis Plotnikov
We should always check whether block device is in the read-only state before enabling copy-on-read. The patch embeds the check in the copy-on-read setter. Signed-off-by: Denis Plotnikov --- block.c | 4 +--- block/io.c| 10 -- block/stream.c| 5

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

2018-06-13 Thread Denis Plotnikov
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 shape access pattern to the disk backend. Signed-off-by: Denis Plotnikov --- blockdev.c | 38 ++ qapi/block

[Qemu-block] [PATCH v0 0/2] enable/disable copy-on-read via qmp

2018-06-13 Thread Denis Plotnikov
, there is no such ability. The patch set adds qmp command to enable/disable the copy-on-read mode. Denis Plotnikov (2): block: check for read-only on copy-on-read setting qmp: add block-set-copy-on-read command block.c | 4 +--- block/io.c| 10 -- block/stream.c

Re: [Qemu-block] [Qemu-devel] [PATCH 1/2] Add save-snapshot, load-snapshot and delete-snapshot to QAPI

2018-02-13 Thread Denis Plotnikov
On 13.02.2018 18:05, Dr. David Alan Gilbert wrote: * Denis V. Lunev (d...@virtuozzo.com) wrote: On 02/13/2018 05:59 PM, Dr. David Alan Gilbert wrote: * Daniel P. Berrangé (berra...@redhat.com) wrote: On Tue, Feb 13, 2018 at 03:45:21PM +0100, Kevin Wolf wrote: Am 13.02.2018 um 15:36 hat

Re: [Qemu-block] [Qemu-devel] [PATCH 1/2] Add save-snapshot, load-snapshot and delete-snapshot to QAPI

2018-02-13 Thread Denis Plotnikov
On 13.02.2018 17:43, Kevin Wolf wrote: Am 13.02.2018 um 15:30 hat Roman Kagan geschrieben: On Tue, Feb 13, 2018 at 11:50:24AM +0100, Kevin Wolf wrote: Am 11.01.2018 um 14:04 hat Daniel P. Berrange geschrieben: Then you could just use the regular migrate QMP commands for loading and saving

Re: [Qemu-block] [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-08-14 Thread Denis Plotnikov
On 13.08.2018 19:30, Kevin Wolf wrote: Am 13.08.2018 um 10:32 hat Denis Plotnikov geschrieben: Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's question on July 2nd, did you reply off-list? --js

Re: [Qemu-block] [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-08-13 Thread Denis Plotnikov
Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's question on July 2nd, did you reply off-list? --js Yes, I did. I talked to Stefan why the patch set appeared. On 29.06.2018 15:40, Denis Plotnikov

Re: [Qemu-block] [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-08-28 Thread Denis Plotnikov
On 27.08.2018 19:05, John Snow wrote: On 08/27/2018 03:05 AM, Denis Plotnikov wrote: PING! PING! Sorry, Kevin and Stefan are both on PTO right now, I think. I can't promise I have the time to look soon, but you at least deserve an answer for the radio silence the last week. --js

Re: [Qemu-block] [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-08-20 Thread Denis Plotnikov
ping ping! On 14.08.2018 10:08, Denis Plotnikov wrote: On 13.08.2018 19:30, Kevin Wolf wrote: Am 13.08.2018 um 10:32 hat Denis Plotnikov geschrieben: Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's

Re: [Qemu-block] [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-08-27 Thread Denis Plotnikov
PING! PING! On 14.08.2018 10:08, Denis Plotnikov wrote: On 13.08.2018 19:30, Kevin Wolf wrote: Am 13.08.2018 um 10:32 hat Denis Plotnikov geschrieben: Ping ping! On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply

Re: [Qemu-block] [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-07-18 Thread Denis Plotnikov
On 16.07.2018 21:59, John Snow wrote: On 07/16/2018 11:01 AM, Denis Plotnikov wrote: Ping! I never saw a reply to Stefan's question on July 2nd, did you reply off-list? For some reason, there are no Stefan's replies on my server. Found it in the web. Will respond to it shortly

Re: [Qemu-block] [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-07-16 Thread Denis Plotnikov
Ping! On 29.06.2018 15:40, Denis Plotnikov wrote: There are cases when a request to a block driver state shouldn't have appeared producing dangerous race conditions. This misbehaviour is usually happens with storage devices emulated without eventfd for guest to host notifications like IDE

Re: [Qemu-block] [Qemu-devel] [PATCH v0 0/2] Postponed actions

2018-09-10 Thread Denis Plotnikov
PING PING! On 28.08.2018 13:23, Denis Plotnikov wrote: On 27.08.2018 19:05, John Snow wrote: On 08/27/2018 03:05 AM, Denis Plotnikov wrote: PING! PING! Sorry, Kevin and Stefan are both on PTO right now, I think. I can't promise I have the time to look soon, but you at least deserve

[Qemu-block] [PATCH v0 0/2] Postponed actions

2018-06-29 Thread Denis Plotnikov
h series introduces the mechanism to postpone the requests until the BDS leaves "drained" section for the devices not using iothreads. Also, it modifies the asynchronous block backend infrastructure to use that mechanism to release the assert bug for IDE devices. Denis Plotnikov (2): async: add i

[Qemu-block] [PATCH v0 1/2] async: add infrastructure for postponed actions

2018-06-29 Thread Denis Plotnikov
of the requests appeared when the context was in "drained section". Signed-off-by: Denis Plotnikov --- include/block/aio.h | 63 + util/async.c| 33 2 files changed, 96 insertions(+) diff --git a/include/block/aio.

[Qemu-block] [PATCH v0 2/2] block: postpone the coroutine executing if the BDS's is drained

2018-06-29 Thread Denis Plotnikov
quests arisen when in "drained section" to remove the possibility of request appearing for all the infrastructure clients. This approach doesn't make vCPU processing the request wait untill the end of request processing. Signed-off-by: Denis Plotnikov --- block/block-backend.c | 58 ++

Re: [Qemu-block] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-01-14 Thread Denis Plotnikov
ping ping ping ping On 09.01.2019 11:18, Denis Plotnikov wrote: > ping ping!!! > > On 18.12.2018 11:53, Denis Plotnikov wrote: >> ping ping >> >> On 14.12.2018 14:54, Denis Plotnikov wrote: >>> >>> >>> On 13.12.2018 15:20, Kevin Wolf

[Qemu-block] PING: [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-01-17 Thread Denis Plotnikov
Kevin, could you please take a look at my last comments? Thanks! Denis On 15.01.2019 10:22, Denis Plotnikov wrote: > ping ping ping ping > > On 09.01.2019 11:18, Denis Plotnikov wrote: >> ping ping!!! >> >> On 18.12.2018 11:53, Denis Plotnikov wrote: >>>

Re: [Qemu-block] PING: [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-01-17 Thread Denis Plotnikov
On 17.01.2019 17:23, Kevin Wolf wrote: > Am 17.01.2019 um 13:57 hat Denis Plotnikov geschrieben: >> Kevin, >> >> could you please take a look at my last comments? > > I read it, and what it told me is essentially that I need to work on it > myself to fully under

Re: [Qemu-block] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-13 Thread Denis Plotnikov
On 12.12.2018 15:24, Kevin Wolf wrote: > Am 11.12.2018 um 17:55 hat Denis Plotnikov geschrieben: >>> Why involve the AioContext at all? This could all be kept at the >>> BlockBackend level without extending the layering violation that >>> aio_disable_external()

Re: [Qemu-block] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-18 Thread Denis Plotnikov
ping ping On 14.12.2018 14:54, Denis Plotnikov wrote: > > > On 13.12.2018 15:20, Kevin Wolf wrote: >> Am 13.12.2018 um 12:07 hat Denis Plotnikov geschrieben: >>> On 12.12.2018 15:24, Kevin Wolf wrote: >>>> Am 11.12.2018 um 17:55 hat Denis Plotnikov geschriebe

Re: [Qemu-block] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-14 Thread Denis Plotnikov
On 13.12.2018 15:20, Kevin Wolf wrote: > Am 13.12.2018 um 12:07 hat Denis Plotnikov geschrieben: >> On 12.12.2018 15:24, Kevin Wolf wrote: >>> Am 11.12.2018 um 17:55 hat Denis Plotnikov geschrieben: >>>>> Why involve the AioContext at all? This could all be kep

[Qemu-block] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-05 Thread Denis Plotnikov
ear in vCPU context (here is the race) Signed-off-by: Denis Plotnikov --- block/block-backend.c | 31 +++ block/io.c| 3 ++- dma-helpers.c | 4 ++-- hw/block/nvme.c | 8 hw/block/xen_disk.c | 8 hw/ide/core

Re: [Qemu-block] [PATCH] blk: postpone request execution on a context protected with "drained section"

2018-12-10 Thread Denis Plotnikov
On 07.12.2018 15:26, Kevin Wolf wrote: > Am 05.12.2018 um 13:23 hat Denis Plotnikov geschrieben: >> At the time, the "drained section" doesn't protect Block Driver State >> from the requests appearing in the vCPU threads. >> This could lead to the data

Re: [Qemu-block] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-01-09 Thread Denis Plotnikov
ping ping!!! On 18.12.2018 11:53, Denis Plotnikov wrote: > ping ping > > On 14.12.2018 14:54, Denis Plotnikov wrote: >> >> >> On 13.12.2018 15:20, Kevin Wolf wrote: >>> Am 13.12.2018 um 12:07 hat Denis Plotnikov geschrieben: >>>> On 12.12.2018 15

Re: [Qemu-block] [PATCH v0 2/2] block: postpone the coroutine executing if the BDS's is drained

2018-09-12 Thread Denis Plotnikov
On 12.09.2018 16:15, Kevin Wolf wrote: Am 12.09.2018 um 14:03 hat Denis Plotnikov geschrieben: On 10.09.2018 15:41, Kevin Wolf wrote: Am 29.06.2018 um 14:40 hat Denis Plotnikov geschrieben: Fixes the problem of ide request appearing when the BDS is in the "drained section"

Re: [Qemu-block] [PATCH v0 2/2] block: postpone the coroutine executing if the BDS's is drained

2018-09-12 Thread Denis Plotnikov
On 10.09.2018 15:41, Kevin Wolf wrote: Am 29.06.2018 um 14:40 hat Denis Plotnikov geschrieben: Fixes the problem of ide request appearing when the BDS is in the "drained section". Without the patch the request can come and be processed by the main event loop, as the id

Re: [Qemu-block] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-04-02 Thread Denis Plotnikov
On 13.03.2019 19:04, Kevin Wolf wrote: > Am 14.12.2018 um 12:54 hat Denis Plotnikov geschrieben: >> On 13.12.2018 15:20, Kevin Wolf wrote: >>> Am 13.12.2018 um 12:07 hat Denis Plotnikov geschrieben: >>>> Sounds it should be so, but it doesn't work that way and that

Re: [Qemu-block] [Qemu-devel] [PATCH] block: skip initializer BDS on recursive aio context attachment/detachment

2019-02-08 Thread Denis Plotnikov
ping ping! On 24.01.2019 10:48, Denis Plotnikov wrote: > When there is a Backup Block Job running and shutdown command is sent to > a guest, the guest crushes due to assert(!bs->walking_aio_notifiers). > > Call stack: > > 0 __GI_raise > 1 __GI_abort >

Re: [Qemu-block] [PATCH] block: skip initializer BDS on recursive aio context attachment/detachment

2019-02-15 Thread Denis Plotnikov
On 08.02.2019 14:03, Kevin Wolf wrote: > Am 24.01.2019 um 08:48 hat Denis Plotnikov geschrieben: >> When there is a Backup Block Job running and shutdown command is sent to >> a guest, the guest crushes due to assert(!bs->walking_aio_notifiers). >> >> Call s

[Qemu-block] [PATCH] block: don't set the same context

2019-02-15 Thread Denis Plotnikov
the VM disk bds is protected with walking_aio_notifiers flag from double processing in recursive calls, the assert fires. Signed-off-by: Denis Plotnikov --- block.c | 4 1 file changed, 4 insertions(+) diff --git a/block.c b/block.c index adda221c2c..5742545e7a 100644 --- a/block.c +++ b/block.c

Re: [Qemu-block] [PATCH] block: don't set the same context

2019-02-15 Thread Denis Plotnikov
On 15.02.2019 15:29, Eric Blake wrote: > On 2/15/19 3:19 AM, Denis Plotnikov wrote: >> Adds a fast path on aio context setting preventing >> unnecessary context setting routine. >> Also, it prevents issues with cyclic walk of child >> bds-es appeared becaus

[Qemu-block] [PATCH v2] block: don't set the same context

2019-02-15 Thread Denis Plotnikov
the VM disk bds is protected with walking_aio_notifiers flag from double processing in recursive calls, the assert fires. Signed-off-by: Denis Plotnikov --- block.c | 4 1 file changed, 4 insertions(+) diff --git a/block.c b/block.c index adda221c2c..5742545e7a 100644 --- a/block.c +++ b/block.c

[Qemu-block] [PATCH] block: skip initializer BDS on recursive aio context attachment/detachment

2019-01-23 Thread Denis Plotnikov
e processing in recursive calls, the assert fires. The patch fixes the problem by skipping the bds-es in recursive calls which have started attachment/detachment already. Signed-off-by: Denis Plotnikov --- block.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/blo

[Qemu-block] [PATCH] [RFC] qcow2: add compression type feature

2019-02-05 Thread Denis Plotnikov
to use it for data compression f.e. for backups. The default compression is ZLIB. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 25 + block/qcow2.h | 26 ++ 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/block/qcow2.c b/block

Re: [Qemu-block] [PATCH v1] [RFC] qcow2: add compression type feature

2019-05-17 Thread Denis Plotnikov
On 17.05.2019 2:25, John Snow wrote: > > > On 5/16/19 9:48 AM, Denis Plotnikov wrote: >> The patch adds some preparation parts for incompatible compression type >> feature into QCOW2 header that indicates that *all* compressed clusters >> must be (de)compressed using

Re: [Qemu-block] [PATCH v1] [RFC] qcow2: add compression type feature

2019-05-17 Thread Denis Plotnikov
On 16.05.2019 17:42, Eric Blake wrote: > On 5/16/19 8:48 AM, Denis Plotnikov wrote: >> The patch adds some preparation parts for incompatible compression type >> feature into QCOW2 header that indicates that *all* compressed clusters >> must be (de)compressed using a cer

[Qemu-block] [PATCH v0] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- qemu-io-cmds.c | 58 ++ 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io

Re: [Qemu-block] [PATCH v4] qemu-io: add pattern file for write command

2019-05-31 Thread Denis Plotnikov
On 30.05.2019 11:26, Stefano Garzarella wrote: > On Thu, May 30, 2019 at 11:10:55AM +0300, Denis Plotnikov wrote: >> The patch allows to provide a pattern file for write >> command. There was no similar ability before. >> >> Signed-off-by: Denis Plotnikov >&

Re: [Qemu-block] [PATCH v4] qemu-io: add pattern file for write command

2019-05-31 Thread Denis Plotnikov
On 31.05.2019 10:14, Stefano Garzarella wrote: > On Fri, May 31, 2019 at 06:21:13AM +0000, Denis Plotnikov wrote: >> >> >> On 30.05.2019 11:26, Stefano Garzarella wrote: >>> On Thu, May 30, 2019 at 11:10:55AM +0300, Denis Plotnikov wrote: >>>> The patch

[Qemu-block] [PATCH v5] qemu-io: add pattern file for write command

2019-05-31 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- v5: * file name initiated with null to make compilers happy v4: * missing signed-off clause added v3: * missing file closing added * exclusive flags

[Qemu-block] [PATCH v0 0/3] add zstd cluster compression

2019-05-28 Thread Denis Plotnikov
compression ratio: ~1.5 compressed image size in both cases: ~1.4G Denis Plotnikov (3): qcow2: introduce compression type feature qcow2: add compression type processing qcow2: add zstd cluster compression block/qcow2.c | 240 -- block/qcow2.h

[Qemu-block] [PATCH v0 1/3] qcow2: introduce compression type feature

2019-05-28 Thread Denis Plotnikov
providing a comparable compression ratio and therefore provide a performance advantage in backup scenarios. The default compression is ZLIB. Images created with ZLIB compression type is backward compatible with older qemu versions. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 61

[Qemu-block] [PATCH v0 2/3] qcow2: add compression type processing

2019-05-28 Thread Denis Plotnikov
With the patch, qcow2 is able to process image compression type defined in the image header and choose the corresponding method for clusters compressing. Also, it rework the cluster compression code for adding more compression types. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 103

[Qemu-block] [PATCH v0 3/3] qcow2: add zstd cluster compression

2019-05-28 Thread Denis Plotnikov
size in both cases: 1.4G Signed-off-by: Denis Plotnikov --- block/qcow2.c | 82 +++ configure | 26 2 files changed, 108 insertions(+) diff --git a/block/qcow2.c b/block/qcow2.c index 90f15cc3c9..58901f9f79 100644 --- a/block

Re: [Qemu-block] [PATCH v2] qemu-io: add pattern file for write command

2019-05-30 Thread Denis Plotnikov
On 30.05.2019 10:51, Stefano Garzarella wrote: > On Wed, May 29, 2019 at 02:46:24PM +0300, Denis Plotnikov wrote: >> The patch allows to provide a pattern file for write >> command. There was no similar ability before. >> --- >

[Qemu-block] [PATCH v4] qemu-io: add pattern file for write command

2019-05-30 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- qemu-io-cmds.c | 81 ++ 1 file changed, 75 insertions(+), 6 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io

[Qemu-block] [PATCH v1] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- qemu-io-cmds.c | 58 ++ 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io

Re: [Qemu-block] [PATCH v0] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
On 29.05.2019 11:11, Vladimir Sementsov-Ogievskiy wrote: > 29.05.2019 9:48, Denis Plotnikov wrote: >> The patch allows to provide a pattern file for write >> command. There was no similar ability before. >> >> Signed-off-by: Denis Plotnikov >&

[Qemu-block] [PATCH v2] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. --- qemu-io-cmds.c | 58 ++ 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c index

[Qemu-block] [PATCH v3] qemu-io: add pattern file for write command

2019-05-29 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. --- qemu-io-cmds.c | 80 ++ 1 file changed, 74 insertions(+), 6 deletions(-) diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c index

[Qemu-block] [PING] [Qemu-devel] [PATCH v0 0/3] add zstd cluster compression

2019-06-04 Thread Denis Plotnikov
On 28.05.2019 17:37, Denis Plotnikov wrote: > The goal of the patch-set is to enable qcow2 to use zstd compression for > clusters. ZSTD provides better (de)compression performance than currently > used ZLIB. Using it will improve perforamnce (reduce compression time) > when th

Re: [Qemu-block] [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-06-24 Thread Denis Plotnikov
On 21.06.2019 12:59, Vladimir Sementsov-Ogievskiy wrote: > 21.06.2019 12:16, Kevin Wolf wrote: >> Am 09.04.2019 um 12:01 hat Kevin Wolf geschrieben: >>> Am 02.04.2019 um 10:35 hat Denis Plotnikov geschrieben: >>>> On 13.03.2019 19:04, Kevin Wolf wrote: >>

Re: [Qemu-block] [Qemu-devel] [PATCH v5] qemu-io: add pattern file for write command

2019-06-10 Thread Denis Plotnikov
On 31.05.2019 18:13, Eric Blake wrote: > On 5/31/19 2:46 AM, Denis Plotnikov wrote: >> The patch allows to provide a pattern file for write >> command. There was no similar ability before. >> >> Signed-off-by: Denis Plotnikov >> --- >> v5: >>* fi

[Qemu-block] [PATCH v6] qemu-io: add pattern file for write command

2019-06-10 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- v6: * the pattern file is read once to reduce io v5: * file name initiated with null to make compilers happy v4: * missing signed-off clause added v3

[Qemu-block] [PATCH v2] [RFC] qcow2: add compression type feature

2019-05-20 Thread Denis Plotnikov
be wise to use it for data compression e.g. for backups. The default compression is ZLIB. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 25 + block/qcow2.h | 29 ++--- docs/interop/qcow2.txt | 34

[Qemu-block] [PATCH v1] [RFC] qcow2: add compression type feature

2019-05-16 Thread Denis Plotnikov
be wise to use it for data compression e.g. for backups. The default compression is ZLIB. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 25 + block/qcow2.h | 29 ++--- docs/interop/qcow2.txt | 25 - qapi

Re: [Qemu-block] [PATCH] [RFC] qcow2: add compression type feature

2019-05-16 Thread Denis Plotnikov
On 16.05.2019 13:40, Max Reitz wrote: > On 16.05.19 09:50, Denis Plotnikov wrote: >> >> >> On 29.04.2019 1:32, Max Reitz wrote: >>> On 05.02.19 10:08, Denis Plotnikov wrote: >>>> The patch adds some preparation parts for incompatible compression type >

Re: [Qemu-block] [PATCH] [RFC] qcow2: add compression type feature

2019-05-16 Thread Denis Plotnikov
On 29.04.2019 1:32, Max Reitz wrote: > On 05.02.19 10:08, Denis Plotnikov wrote: >> The patch adds some preparation parts for incompatible compression type >> feature into QCOW2 header that indicates that *all* compressed clusters >> must be (de)compressed using a cer

[Qemu-block] [PATCH v1 0/3] add zstd cluster compression

2019-07-03 Thread Denis Plotnikov
compressed image size in both cases: ~1.4G Denis Plotnikov (3): qcow2: introduce compression type feature qcow2: rework the cluster compression routine qcow2: add zstd cluster compression block/qcow2.c | 283 +++--- block/qcow2.h

[Qemu-block] [PATCH v1 3/3] qcow2: add zstd cluster compression

2019-07-03 Thread Denis Plotnikov
size in both cases: 1.4G Signed-off-by: Denis Plotnikov --- block/qcow2.c| 96 configure| 32 +++ qapi/block-core.json | 3 +- 3 files changed, 130 insertions(+), 1 deletion(-) diff --git a/block/qcow2.c b/block/qcow2

[Qemu-block] [PATCH v1 1/3] qcow2: introduce compression type feature

2019-07-03 Thread Denis Plotnikov
providing a comparable compression ratio and therefore provide a performance advantage in backup scenarios. The default compression is ZLIB. Images created with ZLIB compression type is backward compatible with older qemu versions. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 94

[Qemu-block] [PATCH v2 2/3] qcow2: rework the cluster compression routine

2019-07-04 Thread Denis Plotnikov
The patch allow to process image compression type defined in the image header and choose an appropriate method for image clusters (de)compression. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 93 --- 1 file changed, 73 insertions(+), 20

[Qemu-block] [PATCH v2 3/3] qcow2: add zstd cluster compression

2019-07-04 Thread Denis Plotnikov
size in both cases: 1.4G Signed-off-by: Denis Plotnikov --- block/qcow2.c | 99 ++ configure | 32 ++ docs/interop/qcow2.txt | 19 qapi/block-core.json | 3 +- 4 files changed, 152 insertions(+), 1 deletion

[Qemu-block] [PATCH v2 0/3] add zstd cluster compression

2019-07-04 Thread Denis Plotnikov
ratio: ~1.5 compressed image size in both cases: ~1.4G Denis Plotnikov (3): qcow2: introduce compression type feature qcow2: rework the cluster compression routine qcow2: add zstd cluster compression block/qcow2.c | 287 +++--- block/qcow2.h

[Qemu-block] [PATCH v2 1/3] qcow2: introduce compression type feature

2019-07-04 Thread Denis Plotnikov
providing a comparable compression ratio and therefore provide a performance advantage in backup scenarios. The default compression is ZLIB. Images created with ZLIB compression type are backward compatible with older qemu versions. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 95

[Qemu-block] [PATCH v1 2/3] qcow2: rework the cluster compression routine

2019-07-03 Thread Denis Plotnikov
The patch allow to process image compression type defined in the image header and choose an appropriate method for image clusters (de)compression. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 93 --- 1 file changed, 73 insertions(+), 20

[Qemu-block] [PATCH v7] qemu-io: add pattern file for write command

2019-07-05 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- v7: * fix variable naming * make code more readable * extend help for write command v6: * the pattern file is read once to reduce io v5: * file name

Re: [Qemu-block] [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-06-26 Thread Denis Plotnikov
On 24.06.2019 12:46, Denis Plotnikov wrote: > > > On 21.06.2019 12:59, Vladimir Sementsov-Ogievskiy wrote: >> 21.06.2019 12:16, Kevin Wolf wrote: >>> Am 09.04.2019 um 12:01 hat Kevin Wolf geschrieben: >>>> Am 02.04.2019 um 10:35 hat Denis Plotnikov geschrieb

Re: [Qemu-block] [Qemu-devel] [PATCH v6] qemu-io: add pattern file for write command

2019-06-27 Thread Denis Plotnikov
On 19.06.2019 13:09, Vladimir Sementsov-Ogievskiy wrote: > 10.06.2019 16:21, Denis Plotnikov wrote: >> The patch allows to provide a pattern file for write >> command. There was no similar ability before. >> >> Signed-off-by: Denis Plotnikov >> --- >> v6:

[Qemu-block] [PING PING] [PATCH v0 0/3] add zstd cluster compression

2019-06-27 Thread Denis Plotnikov
On 04.06.2019 10:56, Denis Plotnikov wrote: > > > On 28.05.2019 17:37, Denis Plotnikov wrote: >> The goal of the patch-set is to enable qcow2 to use zstd compression for >> clusters. ZSTD provides better (de)compression performance than currently >> used ZLIB. Using

Re: [Qemu-block] [PATCH v0 1/3] qcow2: introduce compression type feature

2019-06-28 Thread Denis Plotnikov
On 28.06.2019 12:54, Kevin Wolf wrote: > Am 28.05.2019 um 16:37 hat Denis Plotnikov geschrieben: >> The patch adds some preparation parts for incompatible compression type >> feature to QCOW2 header that indicates that *all* compressed clusters >> must be (de)compr

Re: [Qemu-block] [PATCH v0 2/3] qcow2: add compression type processing

2019-06-28 Thread Denis Plotnikov
On 28.06.2019 15:06, Kevin Wolf wrote: > Am 28.06.2019 um 13:24 hat Denis Plotnikov geschrieben: >> >> >> On 28.06.2019 13:23, Kevin Wolf wrote: >>> Am 28.05.2019 um 16:37 hat Denis Plotnikov geschrieben: >>>> With the patch, qcow2 is able to p

Re: [Qemu-block] [PATCH v0 2/3] qcow2: add compression type processing

2019-06-28 Thread Denis Plotnikov
On 28.06.2019 13:23, Kevin Wolf wrote: > Am 28.05.2019 um 16:37 hat Denis Plotnikov geschrieben: >> With the patch, qcow2 is able to process image compression type >> defined in the image header and choose the corresponding method >> for clusters compressing. >> >

Re: [Qemu-block] [PATCH v1 1/3] qcow2: introduce compression type feature

2019-07-03 Thread Denis Plotnikov
On 03.07.2019 17:14, Eric Blake wrote: > On 7/3/19 6:00 AM, Denis Plotnikov wrote: >> The patch adds some preparation parts for incompatible compression type >> feature to QCOW2 header that indicates that*all* compressed clusters >> must be (de)compressed using a cer

Re: [Qemu-block] [PATCH v1 3/3] qcow2: add zstd cluster compression

2019-07-03 Thread Denis Plotnikov
On 03.07.2019 17:36, Eric Blake wrote: > On 7/3/19 6:00 AM, Denis Plotnikov wrote: >> zstd significantly reduces cluster compression time. >> It provides better compression performance maintaining >> the same level of compression ratio in comparison with >> zlib, whi

Re: [Qemu-block] [PATCH v1 1/3] qcow2: introduce compression type feature

2019-07-03 Thread Denis Plotnikov
On 03.07.2019 18:13, Eric Blake wrote: > On 7/3/19 10:01 AM, Denis Plotnikov wrote: > >>>> + * with QCOW2_COMPRESSION_TYPE_ZLIB the corresponding incompatible >>>> + * feature flag must be absent, with other compression types the >>>> +

Re: [Qemu-block] [PATCH v1 1/3] qcow2: introduce compression type feature

2019-07-03 Thread Denis Plotnikov
On 03.07.2019 18:46, Kevin Wolf wrote: > Am 03.07.2019 um 17:01 hat Denis Plotnikov geschrieben: >> On 03.07.2019 17:14, Eric Blake wrote: >>> On 7/3/19 6:00 AM, Denis Plotnikov wrote: >>>> diff --git a/block/qcow2.c b/block/qcow2.c >>>> index 3ace3b2209

Re: [Qemu-block] [PATCH v0 3/3] qcow2: add zstd cluster compression

2019-07-02 Thread Denis Plotnikov
On 02.07.2019 17:37, Kevin Wolf wrote: > Am 02.07.2019 um 14:49 hat Denis Plotnikov geschrieben: >> On 28.06.2019 14:57, Kevin Wolf wrote: >>> Am 28.05.2019 um 16:37 hat Denis Plotnikov geschrieben: >>>> diff --git a/configure b/configure >>&g

Re: [Qemu-block] [Qemu-devel] [PATCH] blk: postpone request execution on a context protected with "drained section"

2019-07-02 Thread Denis Plotnikov
On 28.06.2019 15:32, Kevin Wolf wrote: > Am 26.06.2019 um 10:46 hat Denis Plotnikov geschrieben: >> On 24.06.2019 12:46, Denis Plotnikov wrote: >>> On 21.06.2019 12:59, Vladimir Sementsov-Ogievskiy wrote: >>>> 21.06.2019 12:16, Kevin Wolf wrote: >>>&

Re: [Qemu-block] [PATCH v0 3/3] qcow2: add zstd cluster compression

2019-07-02 Thread Denis Plotnikov
Thanks for reviewing, I'll take into account the suggestions below and send the next version of the series soon. On 28.06.2019 14:57, Kevin Wolf wrote: > Am 28.05.2019 um 16:37 hat Denis Plotnikov geschrieben: >> zstd significantly reduces cluster compression time. >> It

Re: [Qemu-block] [PATCH v0 2/3] qcow2: add compression type processing

2019-07-02 Thread Denis Plotnikov
On 28.06.2019 22:34, Eric Blake wrote: > On 6/28/19 9:54 AM, Kevin Wolf wrote: > We would save most of this code if we added a new field to the header instead of adding a header extension. Not saying that we should definitely do this, but let's discuss it at least.

Re: [Qemu-block] [PATCH v0 3/3] qcow2: add zstd cluster compression

2019-07-02 Thread Denis Plotnikov
On 28.06.2019 14:57, Kevin Wolf wrote: > Am 28.05.2019 um 16:37 hat Denis Plotnikov geschrieben: >> zstd significantly reduces cluster compression time. >> It provides better compression performance maintaining >> the same level of compression ratio in compariso

[Qemu-block] [PATCH v3 2/3] qcow2: rework the cluster compression routine

2019-08-19 Thread Denis Plotnikov
The patch allow to process image compression type defined in the image header and choose an appropriate method for image clusters (de)compression. Signed-off-by: Denis Plotnikov --- block/qcow2-threads.c | 78 +++ 1 file changed, 64 insertions(+), 14

[Qemu-block] [PATCH v3 3/3] qcow2: add zstd cluster compression

2019-08-19 Thread Denis Plotnikov
size in both cases: 1.4G Signed-off-by: Denis Plotnikov --- block/qcow2-threads.c | 94 ++ block/qcow2.c | 6 +++ configure | 34 +++ docs/interop/qcow2.txt | 20 + qapi/block-core.json | 3 +- 5 files changed

[Qemu-block] [PATCH v3 0/3] qcow2: add zstd cluster compression

2019-08-19 Thread Denis Plotnikov
2.5 sys 3.3 0.2 2.0 2.0 Both ZLIB and ZSTD gave the same compression ratio: ~1.5 compressed image size in both cases: ~1.4G Denis Plotnikov (3): qcow2: introduce compression type feature qcow2: rework the cluster compression routine qcow2: add zstd cluster compression block/qcow2

[Qemu-block] [PATCH v3 1/3] qcow2: introduce compression type feature

2019-08-19 Thread Denis Plotnikov
providing a comparable compression ratio and therefore provides a performance advantage in backup scenarios. The default compression is ZLIB. Images created with ZLIB compression type are backward compatible with older qemu versions. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 94

[Qemu-block] [PATCH v9] qemu-io: add pattern file for write command

2019-08-19 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- v9: * replace flag cast to int with bool [Eric] * fix the error message [Eric] * use qemu_io_free instead of qemu_vfree [Eric] * add function description

[Qemu-block] [PATCH v10] qemu-io: add pattern file for write command

2019-08-20 Thread Denis Plotnikov
The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- v10: * fix overflow [Max] * remove casting to bool [Max, Eric] * fix wording [Max] v9: * replace flag cast to int with bool [Eric] * fix the error

Re: [Qemu-block] [PATCH v9] qemu-io: add pattern file for write command

2019-08-20 Thread Denis Plotnikov
On Aug 20 2019, at 4:35 pm, Max Reitz wrote: On 19.08.19 18:18, Denis Plotnikov wrote: The patch allows to provide a pattern file for write command. There was no similar ability before. Signed-off-by: Denis Plotnikov --- v9: * replace flag cast to int with bool [Eric] * fix the error message

Re: [Qemu-block] [PATCH v4 3/3] qcow2: add zstd cluster compression

2019-09-04 Thread Denis Plotnikov
Kevin, thanks for commenting. I'll resend the series shortly. Denis On 03.09.2019 17:12, Kevin Wolf wrote: > Am 28.08.2019 um 14:56 hat Denis Plotnikov geschrieben: >> zstd significantly reduces cluster compression time. >> It provides better compression performance maintaining &g

[Qemu-block] [PATCH v4 2/3] qcow2: rework the cluster compression routine

2019-08-28 Thread Denis Plotnikov
The patch allow to process image compression type defined in the image header and choose an appropriate method for image clusters (de)compression. Signed-off-by: Denis Plotnikov --- block/qcow2-threads.c | 78 +++ 1 file changed, 64 insertions(+), 14

[Qemu-block] [PATCH v4 1/3] qcow2: introduce compression type feature

2019-08-28 Thread Denis Plotnikov
providing a comparable compression ratio and therefore provides a performance advantage in backup scenarios. The default compression is ZLIB. Images created with ZLIB compression type are backward compatible with older qemu versions. Signed-off-by: Denis Plotnikov --- block/qcow2.c | 91

[Qemu-block] [PATCH v4 0/3] qcow2: add zstd cluster compression

2019-08-28 Thread Denis Plotnikov
: compression decompression zlib zstd zlib zstd real 65.5 16.3 (-75 %) 1.9 1.6 (-16 %) user 65.0 15.8 5.3 2.5 sys 3.3 0.2 2.0 2.0 Both ZLIB and ZSTD gave the same compression ratio: ~1.5 compressed image size in both cases: ~1.4G Denis

[Qemu-block] [PATCH v4 3/3] qcow2: add zstd cluster compression

2019-08-28 Thread Denis Plotnikov
size in both cases: 1.4G Signed-off-by: Denis Plotnikov --- block/qcow2-threads.c | 107 + block/qcow2.c | 7 +++ configure | 34 + docs/interop/qcow2.txt | 20 qapi/block-core.json | 3 +- 5 files changed

Re: [Qemu-block] [Qemu-devel] [PATCH v3 0/3] qcow2: add zstd cluster compression

2019-08-26 Thread Denis Plotnikov
Ping! On 19.08.2019 18:00, Denis Plotnikov wrote: > v3: > * relax the compression type setting requirement when >the compression type is not zlib [Eric, Kevin] > * add compression type values to the spec [Eric] > * fix wording in the spec and descriptions [Eric] > * fix func

Re: [Qemu-block] [PATCH v3 1/3] qcow2: introduce compression type feature

2019-08-27 Thread Denis Plotnikov
On 27.08.2019 14:49, Vladimir Sementsov-Ogievskiy wrote: > 19.08.2019 18:00, Denis Plotnikov wrote: >> The patch adds some preparation parts for incompatible compression type >> feature to QCOW2 header that indicates that *all* compressed clusters >> must be (de)compr

Re: [Qemu-block] [PATCH v5 3/3] qcow2: add zstd cluster compression

2019-09-05 Thread Denis Plotnikov
On 05.09.2019 17:31, Eric Blake wrote: > On 9/5/19 2:44 AM, Denis Plotnikov wrote: > > >>>> + >>>> +s_size = be32_to_cpu(*(const uint32_t *) src); >>> As written, this looks like you may be dereferencing an unaligned >>> pointer. It so ha

[Qemu-block] [PATCH v5 2/3] qcow2: rework the cluster compression routine

2019-09-04 Thread Denis Plotnikov
The patch allow to process image compression type defined in the image header and choose an appropriate method for image clusters (de)compression. Signed-off-by: Denis Plotnikov --- block/qcow2-threads.c | 77 +++ 1 file changed, 63 insertions(+), 14

[Qemu-block] [PATCH v5 3/3] qcow2: add zstd cluster compression

2019-09-04 Thread Denis Plotnikov
size in both cases: 1.4G Signed-off-by: Denis Plotnikov --- block/qcow2-threads.c | 107 + block/qcow2.c | 7 +++ configure | 29 +++ docs/interop/qcow2.txt | 20 qapi/block-core.json | 3 +- 5 files changed

  1   2   3   4   >