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
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
, 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
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
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
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
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
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
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
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
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
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
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
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
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.
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 ++
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
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:
>>>
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
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()
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
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
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
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
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
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"
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
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
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
>
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
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
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
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
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
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
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
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
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
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
>&
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
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
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
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
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
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
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.
>> ---
>
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
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
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
>&
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
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
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
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:
>>
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
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
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
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
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
>
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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.
>>
>
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
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
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
>>>> +
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
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
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:
>>>&
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
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.
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
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
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
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
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
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
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
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
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
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
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
:
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
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
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
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
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
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
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 - 100 of 355 matches
Mail list logo