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 >> the same level

[Qemu-block] [PULL 5/5] multifd: Use number of channels as listen backlog

2019-09-04 Thread Juan Quintela
Reviewed-by: Daniel P. Berrangé Signed-off-by: Juan Quintela --- migration/socket.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/migration/socket.c b/migration/socket.c index e63f5e1612..97c9efde59 100644 --- a/migration/socket.c +++ b/migration/socket.c @@ -178,10

[Qemu-block] [PULL 0/5] Fail patches

2019-09-04 Thread Juan Quintela
The following changes since commit 3483534ec314f6057e66966bfceaa9df02c28fbf: Merge remote-tracking branch 'remotes/cleber/tags/python-next-pull-request' into staging (2019-09-03 16:48:37 +0100) are available in the Git repository at: https://github.com/juanquintela/qemu.git

[Qemu-block] [PULL 2/5] socket: Add num connections to qio_channel_socket_sync()

2019-09-04 Thread Juan Quintela
Reviewed-by: Daniel P. Berrangé Signed-off-by: Juan Quintela --- include/io/channel-socket.h| 2 ++ io/channel-socket.c| 7 --- io/net-listener.c | 2 +- io/trace-events| 2 +- scsi/qemu-pr-helper.c | 3 ++- tests/test-char.c

[Qemu-block] [PULL 1/5] socket: Add backlog parameter to socket_listen

2019-09-04 Thread Juan Quintela
Current parameter was always one. We continue with that value for now in all callers. Signed-off-by: Juan Quintela Reviewed-by: Daniel P. Berrangé --- Moved trace to socket_listen --- include/qemu/sockets.h| 2 +- io/channel-socket.c | 2 +- qga/channel-posix.c | 2 +-

[Qemu-block] [PULL 4/5] socket: Add num connections to qio_net_listener_open_sync()

2019-09-04 Thread Juan Quintela
Reviewed-by: Daniel P. Berrangé Signed-off-by: Juan Quintela --- blockdev-nbd.c| 2 +- chardev/char-socket.c | 2 +- include/io/net-listener.h | 2 ++ io/net-listener.c | 3 ++- migration/socket.c| 2 +- qemu-nbd.c| 2 +- ui/vnc.c

[Qemu-block] [PULL 3/5] socket: Add num connections to qio_channel_socket_async()

2019-09-04 Thread Juan Quintela
Reviewed-by: Daniel P. Berrangé Signed-off-by: Juan Quintela --- include/io/channel-socket.h| 2 ++ io/channel-socket.c| 30 +++--- io/trace-events| 2 +- tests/test-io-channel-socket.c | 2 +- 4 files changed, 27 insertions(+), 9

Re: [Qemu-block] [PATCH] block/nfs: add support for nfs_umount

2019-09-04 Thread Kevin Wolf
Am 03.09.2019 um 21:52 hat Peter Lieven geschrieben: > > > > Am 03.09.2019 um 16:56 schrieb Kevin Wolf : > > > > Am 03.09.2019 um 15:44 hat Peter Lieven geschrieben: > >> libnfs recently added support for unmounting. Add support > >> in Qemu too. > >> > >> Signed-off-by: Peter Lieven > > > >

[Qemu-block] [PATCH v8 1/6] iotests: allow Valgrind checking all QEMU processes

2019-09-04 Thread Andrey Shinkevich
With the '-valgrind' option, let all the QEMU processes be run under the Valgrind tool. The Valgrind own parameters may be set with its environment variable VALGRIND_OPTS, e.g. $ VALGRIND_OPTS="--leak-check=yes" ./check -valgrind or they may be listed in the Valgrind checked file ./.valgrindrc or

[Qemu-block] [PATCH v8 4/6] iotests: Valgrind fails with nonexistent directory

2019-09-04 Thread Andrey Shinkevich
The Valgrind uses the exported variable TMPDIR and fails if the directory does not exist. Let us exclude such a test case from being run under the Valgrind and notify the user of it. Suggested-by: Kevin Wolf Signed-off-by: Andrey Shinkevich Reviewed-by: John Snow --- tests/qemu-iotests/051 |

Re: [Qemu-block] [Qemu-devel] [PATCH] docs: Update preferred NBD device syntax

2019-09-04 Thread Daniel P . Berrangé
On Tue, Sep 03, 2019 at 03:06:24PM -0400, John Snow wrote: > > > On 9/3/19 3:02 PM, Eric Blake wrote: > > [adding libvirt list] > > > > On 9/3/19 1:50 PM, John Snow wrote: > >> > >> > >> On 9/3/19 10:56 AM, Eric Blake wrote: > >>> Mention the preferred URI form, especially since NBD is trying

[Qemu-block] [PATCH v8 2/6] iotests: exclude killed processes from running under Valgrind

2019-09-04 Thread Andrey Shinkevich
The Valgrind tool fails to manage its termination in multi-threaded processes when they raise the signal SIGKILL. The bug has been reported to the Valgrind maintainers and was registered as the bug #409141: https://bugs.kde.org/show_bug.cgi?id=409141 Let's exclude such test cases from running

[Qemu-block] [PATCH v8 6/6] iotests: extend sleeping time under Valgrind

2019-09-04 Thread Andrey Shinkevich
To synchronize the time when QEMU is running longer under the Valgrind, increase the sleeping time in the test 247. Signed-off-by: Andrey Shinkevich Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: John Snow --- tests/qemu-iotests/247 | 6 +- 1 file changed, 5 insertions(+), 1

[Qemu-block] [PATCH v8 3/6] iotests: Add casenotrun report to bash tests

2019-09-04 Thread Andrey Shinkevich
The new function _casenotrun() is to be invoked if a test case cannot be run for some reason. The user will be notified by a message passed to the function. It is the caller's responsibility to make skipped a particular test. Suggested-by: Kevin Wolf Signed-off-by: Andrey Shinkevich

[Qemu-block] [PATCH v8 5/6] iotests: extended timeout under Valgrind

2019-09-04 Thread Andrey Shinkevich
As the iotests run longer under the Valgrind, the QEMU_COMM_TIMEOUT is to be increased in the test cases 028, 183 and 192 when running under the Valgrind. Suggested-by: Roman Kagan Signed-off-by: Andrey Shinkevich Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: John Snow ---

[Qemu-block] [PATCH v8 0/6] Allow Valgrind checking all QEMU processes

2019-09-04 Thread Andrey Shinkevich
In the current implementation of the QEMU bash iotests, only qemu-io processes may be run under the Valgrind with the switch '-valgrind'. Let's allow the common.rc bash script running all other QEMU processes, such as qemu-kvm, qemu-img, qemu-ndb and qemu-vxhs, under the Valgrind. v8: 01: Fix

Re: [Qemu-block] [Qemu-devel] QEMU bitmap backup usability FAQ

2019-09-04 Thread Fabian Grünbichler
On August 21, 2019 11:19 pm, John Snow wrote: > > > On 8/21/19 10:21 AM, Vladimir Sementsov-Ogievskiy wrote: >> [CC Nikolay] >> >> 21.08.2019 1:25, John Snow wrote: >>> Hi, downstream here at Red Hat I've been fielding some questions about >>> the usability and feature readiness of Bitmaps (and

Re: [Qemu-block] [PATCH v8 0/6] Allow Valgrind checking all QEMU processes

2019-09-04 Thread Kevin Wolf
Am 04.09.2019 um 11:11 hat Andrey Shinkevich geschrieben: > In the current implementation of the QEMU bash iotests, only qemu-io > processes may be run under the Valgrind with the switch '-valgrind'. > Let's allow the common.rc bash script running all other QEMU processes, > such as qemu-kvm,

Re: [Qemu-block] [Qemu-devel] [PATCH v3 4/5] socket: Add num connections to qio_net_listener_open_sync()

2019-09-04 Thread Daniel P . Berrangé
On Wed, Sep 04, 2019 at 03:19:21PM +0200, Juan Quintela wrote: > Eric Blake wrote: > > On 8/20/19 5:48 AM, Juan Quintela wrote: > >> Reviewed-by: Daniel P. Berrangé > >> Signed-off-by: Juan Quintela > >> --- > >> blockdev-nbd.c| 2 +- > >> chardev/char-socket.c | 2 +- > >>

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

2019-09-04 Thread Eric Blake
On 9/4/19 10:29 AM, Denis Plotnikov wrote: > The patch allow to process image compression type defined s/allow to process/allows processing the/ > in the image header and choose an appropriate method for s/choose/chooses/ > image clusters (de)compression. > > Signed-off-by: Denis Plotnikov >

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

2019-09-04 Thread Eric Blake
On 9/4/19 10:29 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, which, at the moment, has been the only compression > method available. > >

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

2019-09-04 Thread Eric Blake
On 9/4/19 10:29 AM, Denis Plotnikov wrote: > 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

Re: [Qemu-block] [PATCH v6 04/42] block: Add child access functions

2019-09-04 Thread Kevin Wolf
Am 09.08.2019 um 18:13 hat Max Reitz geschrieben: > There are BDS children that the general block layer code can access, > namely bs->file and bs->backing. Since the introduction of filters and > external data files, their meaning is not quite clear. bs->backing can > be a COW source, or it can

[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

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

2019-09-04 Thread Eric Blake
On 9/4/19 10:29 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 certain compression type. > > It is implied that the compression type is

Re: [Qemu-block] [Qemu-devel] [PATCH 1/5] nbd: Improve per-export flag handling in server

2019-09-04 Thread Vladimir Sementsov-Ogievskiy
23.08.2019 17:37, Eric Blake wrote: > When creating a read-only image, we are still advertising support for > TRIM and WRITE_ZEROES to the client, even though the client should not > be issuing those commands. But seeing this requires looking across > multiple functions: > > All callers to

Re: [Qemu-block] [PATCH v3 4/5] socket: Add num connections to qio_net_listener_open_sync()

2019-09-04 Thread Eric Blake
On 8/20/19 5:48 AM, Juan Quintela wrote: > Reviewed-by: Daniel P. Berrangé > Signed-off-by: Juan Quintela > --- > blockdev-nbd.c| 2 +- > chardev/char-socket.c | 2 +- > include/io/net-listener.h | 2 ++ > io/net-listener.c | 3 ++- > migration/socket.c| 2 +- >

Re: [Qemu-block] [PATCH v3 4/5] socket: Add num connections to qio_net_listener_open_sync()

2019-09-04 Thread Juan Quintela
Eric Blake wrote: > On 8/20/19 5:48 AM, Juan Quintela wrote: >> Reviewed-by: Daniel P. Berrangé >> Signed-off-by: Juan Quintela >> --- >> blockdev-nbd.c| 2 +- >> chardev/char-socket.c | 2 +- >> include/io/net-listener.h | 2 ++ >> io/net-listener.c | 3 ++- >>

Re: [Qemu-block] [PATCH v8 0/6] Allow Valgrind checking all QEMU processes

2019-09-04 Thread Andrey Shinkevich
On 04/09/2019 16:44, Kevin Wolf wrote: > Am 04.09.2019 um 11:11 hat Andrey Shinkevich geschrieben: >> In the current implementation of the QEMU bash iotests, only qemu-io >> processes may be run under the Valgrind with the switch '-valgrind'. >> Let's allow the common.rc bash script running all

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

2019-09-04 Thread Denis Plotnikov
zstd significantly reduces cluster compression time. It provides better compression performance maintaining the same level of compression ratio in comparison with zlib, which, at the moment, has been the only compression method available. The performance test results: Test compresses and

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

2019-09-04 Thread Denis Plotnikov
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 certain compression type. It is implied that the compression type is set on the image creation and can be changed only later

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

2019-09-04 Thread Denis Plotnikov
v5: * type changed for compression_type at BDRVQcow2State [Kevin] * fixed typos, grammar [Kevin] * fixed default config zstd setting [Kevin] v4: * remove not feasible switch case [Vladimir] * add sanity checks to zstd decompresssion [Vladimir] * store zstd compressed length in big endian [Max,

Re: [Qemu-block] [PULL v2 00/16] Block patches

2019-09-04 Thread Peter Maydell
On Tue, 3 Sep 2019 at 14:35, Max Reitz wrote: > > The following changes since commit 54b89db5309d5fa8b5d3fe5fe56f81704e2f9706: > > Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' > into staging (2019-09-03 09:43:26 +0100) > > are available in the Git repository at: > >

Re: [Qemu-block] [Qemu-devel] [PATCH] docs: Update preferred NBD device syntax

2019-09-04 Thread Eric Blake
On 9/4/19 3:18 AM, Daniel P. Berrangé wrote: > -Syntax for specifying a NBD device using TCP > +Syntax for specifying a NBD device using TCP, in preferred URI form: > +``nbd://[:]/[]'' > + > ``nbd::[:exportname=]'' > > > In general libvirt should never use the

Re: [Qemu-block] [PATCH V3] block/vhdx: add check for truncated image files

2019-09-04 Thread Kevin Wolf
Am 03.09.2019 um 15:35 hat Peter Lieven geschrieben: > qemu is currently not able to detect truncated vhdx image files. > Add a basic check if all allocated blocks are reachable at open and > report all errors during bdrv_co_check. > > Signed-off-by: Peter Lieven > --- > V3: - check for

Re: [Qemu-block] [Qemu-devel] [PULL 0/5] Fail patches

2019-09-04 Thread Peter Maydell
On Wed, 4 Sep 2019 at 07:34, Juan Quintela wrote: > > The following changes since commit 3483534ec314f6057e66966bfceaa9df02c28fbf: > > Merge remote-tracking branch 'remotes/cleber/tags/python-next-pull-request' > into staging (2019-09-03 16:48:37 +0100) > > are available in the Git repository

[Qemu-block] [PATCH v6 0/4] virtio/block: handle zoned backing devices

2019-09-04 Thread Dmitry Fomichev
Currently, attaching zoned block devices (i.e., storage devices compliant to ZAC/ZBC standards) using several virtio methods doesn't work properly as zoned devices appear as regular block devices at the guest. This may cause unexpected i/o errors and, potentially, some data corruption. To be more

Re: [Qemu-block] [PATCH v5 0/4] virtio/block: handle zoned backing devices

2019-09-04 Thread Dmitry Fomichev
On Wed, 2019-08-28 at 10:41 +0100, Stefan Hajnoczi wrote: > On Fri, Aug 23, 2019 at 03:49:23PM -0400, Dmitry Fomichev wrote: > > Dmitry Fomichev (4): > > block: Add zoned device model property > > raw: Recognize zoned backing devices > > block/ide/scsi: Set BLK_PERM_SUPPORT_ZONED > > raw:

[Qemu-block] [PATCH v6 3/4] block/ide/scsi: Set BLK_PERM_SUPPORT_HM_ZONED

2019-09-04 Thread Dmitry Fomichev
Added a new boolean argument to blkconf_apply_backend_options() to let the common block code know whether the chosen block backend can handle host managed zoned block devices. blkconf_apply_backend_options() then sets BLK_PERM_SUPPORT_HM_ZONED permission accordingly. The raw code can then use

[Qemu-block] [PATCH v6 4/4] raw: Don't open ZBDs if backend can't handle them

2019-09-04 Thread Dmitry Fomichev
Abort opening a zoned device as a raw file in case the chosen block backend driver lacks proper support for this type of storage. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/block/file-posix.c b/block/file-posix.c

[Qemu-block] [PATCH v6 2/4] raw: Recognize zoned backing devices

2019-09-04 Thread Dmitry Fomichev
The purpose of this patch is to recognize a zoned block device (ZBD) when it is opened as a raw file. The new code initializes the zoned model propery introduced by the previous commit. This commit is Linux-specific as it gets the Zoned Block Device Model value (none/host-managed/host-aware) from

[Qemu-block] [PATCH v6 1/4] block: Add zoned device model property

2019-09-04 Thread Dmitry Fomichev
This commit adds Zoned Device Model (as defined in T10 ZBC and T13 ZAC standards) as a block driver property, along with some useful access functions. A new backend driver permission, BLK_PERM_SUPPORT_HM_ZONED, is also introduced. Only the drivers having this permission will be allowed to open