[PATCH for-6.0 v3 10/20] iotests/046: Avoid renaming images

2020-10-27 Thread Max Reitz
This generally does not work on non-file protocols. It is better to create the image with the final name from the start, and most tests do this already. Let 046 follow suit. Signed-off-by: Max Reitz Reviewed-by: Kevin Wolf --- tests/qemu-iotests/046 | 5 +++-- tests/qemu-iotests/046.out

[PATCH for-6.0 v3 08/20] iotests: Do not pipe _make_test_img

2020-10-27 Thread Max Reitz
). Signed-off-by: Max Reitz Reviewed-by: Kevin Wolf --- tests/qemu-iotests/071 | 19 +++ tests/qemu-iotests/174 | 10 +- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/tests/qemu-iotests/071 b/tests/qemu-iotests/071 index 88faebcc1d..18fe9054b0 100755 --- a/tests

[PATCH for-6.0 v3 01/20] meson: Detect libfuse

2020-10-27 Thread Max Reitz
Signed-off-by: Max Reitz --- configure | 7 +++ meson.build | 6 ++ meson_options.txt | 2 ++ 3 files changed, 15 insertions(+) diff --git a/configure b/configure index 83610b0db8..fc315deebe 100755 --- a/configure +++ b/configure @@ -448,6 +448,7 @@ meson="&qu

[PATCH for-6.0 v3 02/20] fuse: Allow exporting BDSs via FUSE

2020-10-27 Thread Max Reitz
for it to settle. Therefore, keep track of mount point paths to at least catch the most obvious instances of that problem. Signed-off-by: Max Reitz --- qapi/block-export.json | 23 ++- include/block/fuse.h | 30 block.c | 1 + block/export/export.c| 4 + block/export

[PATCH 0/2] iotests/291: Two fixes

2020-10-27 Thread Max Reitz
into two patches.) Max Reitz (2): iotests/291: Filter irrelevant parts of img-info iotests/291: Stop NBD server tests/qemu-iotests/291 | 16 +--- tests/qemu-iotests/291.out | 20 2 files changed, 13 insertions(+), 23 deletions(-) -- 2.26.2

[PATCH 1/2] iotests/291: Filter irrelevant parts of img-info

2020-10-27 Thread Max Reitz
("qemu-img: Support bitmap --merge into backing image") Signed-off-by: Max Reitz --- tests/qemu-iotests/291 | 14 +++--- tests/qemu-iotests/291.out | 20 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/tests/qemu-iotests/291 b/tests/qe

[PATCH 2/2] iotests/291: Stop NBD server

2020-10-27 Thread Max Reitz
on FUSE exports, because then the export (which is the image used by qemu-nbd) will go away before qemu-nbd exits, which will lead to qemu-nbd complaining that it cannot flush the bitmaps in the image. Signed-off-by: Max Reitz --- tests/qemu-iotests/291 | 2 ++ 1 file changed, 2 insertions(+) diff

Re: [PATCH v2 00/20] block/export: Allow exporting BDSs via FUSE

2020-10-15 Thread Max Reitz
On 15.10.20 14:01, Kevin Wolf wrote: > Am 22.09.2020 um 12:49 hat Max Reitz geschrieben: >> Based-on: <20200907182011.521007-1-kw...@redhat.com> >> (“block/export: Add infrastructure and QAPI for block exports”) >> >> (Though its patch 16 needs a s/= \

Re: [PATCH v2 03/20] fuse: Implement standard FUSE operations

2020-10-15 Thread Max Reitz
On 15.10.20 17:58, Kevin Wolf wrote: > Am 15.10.2020 um 17:18 hat Max Reitz geschrieben: >> On 15.10.20 11:46, Kevin Wolf wrote: >>> Am 22.09.2020 um 12:49 hat Max Reitz geschrieben: >>>> This makes the export actually useful instead of only producing error

Re: [PATCH v2 02/20] fuse: Allow exporting BDSs via FUSE

2020-10-15 Thread Max Reitz
On 15.10.20 17:41, Kevin Wolf wrote: > Am 15.10.2020 um 16:46 hat Max Reitz geschrieben: >> On 15.10.20 10:57, Kevin Wolf wrote: >>> Am 22.09.2020 um 12:49 hat Max Reitz geschrieben: [...] >>>> +static void fuse_export_shutdown(BlockExport *blk_exp) >

Re: [PATCH v11 05/13] copy-on-read: limit COR operations to base in COR driver

2020-10-15 Thread Max Reitz
On 14.10.20 20:57, Andrey Shinkevich wrote: > On 14.10.2020 15:01, Max Reitz wrote: >> On 12.10.20 19:43, Andrey Shinkevich wrote: >>> Limit COR operations by the base node in the backing chain when the >>> overlay base node name is given. It will be useful for a block

Re: [PATCH v11 09/13] copy-on-read: skip non-guest reads if no copy needed

2020-10-15 Thread Max Reitz
On 14.10.20 18:39, Vladimir Sementsov-Ogievskiy wrote: > 14.10.2020 19:30, Max Reitz wrote: >> On 14.10.20 17:22, Vladimir Sementsov-Ogievskiy wrote: >>> 14.10.2020 15:51, Max Reitz wrote: >>>> On 12.10.20 19:43, Andrey Shinkevich wrote: >>>>> If the fl

Re: [PATCH v2 18/20] iotests: Allow testing FUSE exports

2020-10-15 Thread Max Reitz
On 15.10.20 13:43, Kevin Wolf wrote: > Am 22.09.2020 um 12:49 hat Max Reitz geschrieben: >> This pretends FUSE exports are a kind of protocol. As such, they are >> always tested under the format node. This is probably the best way to >> test them, actually, because this w

Re: [PATCH v2 17/20] iotests: Give access to the qemu-storage-daemon

2020-10-15 Thread Max Reitz
On 15.10.20 13:27, Kevin Wolf wrote: > Am 22.09.2020 um 12:49 hat Max Reitz geschrieben: >> Signed-off-by: Max Reitz >> --- >> tests/qemu-iotests/check | 11 +++ >> tests/qemu-iotests/common.rc | 17 + >> 2 files changed, 28 insertions

Re: [PATCH v2 04/20] fuse: Allow growable exports

2020-10-15 Thread Max Reitz
On 15.10.20 12:41, Kevin Wolf wrote: > Am 22.09.2020 um 12:49 hat Max Reitz geschrieben: >> These will behave more like normal files in that writes beyond the EOF >> will automatically grow the export size. >> >> Signed-off-by: Max Reitz >> --- >> qapi/

Re: [PATCH v2 03/20] fuse: Implement standard FUSE operations

2020-10-15 Thread Max Reitz
On 15.10.20 11:46, Kevin Wolf wrote: > Am 22.09.2020 um 12:49 hat Max Reitz geschrieben: >> This makes the export actually useful instead of only producing errors >> whenever it is accessed. >> >> Signed-off-by: Max Reitz >>

Re: [PATCH v2 02/20] fuse: Allow exporting BDSs via FUSE

2020-10-15 Thread Max Reitz
On 15.10.20 10:57, Kevin Wolf wrote: > Am 22.09.2020 um 12:49 hat Max Reitz geschrieben: >> block-export-add type=fuse allows mounting block graph nodes via FUSE on >> some existing regular file. That file should then appears like a raw >> disk image, and accesses to

Re: [PATCH v11 04/13] copy-on-read: pass overlay base node name to COR driver

2020-10-14 Thread Max Reitz
On 14.10.20 18:08, Andrey Shinkevich wrote: > On 14.10.2020 14:09, Max Reitz wrote: >> On 12.10.20 19:43, Andrey Shinkevich wrote: >>> We are going to use the COR-filter for a block-stream job. >>> To limit COR operations by the base node in the backing chain during &g

Re: [PATCH v11 09/13] copy-on-read: skip non-guest reads if no copy needed

2020-10-14 Thread Max Reitz
On 14.10.20 17:22, Vladimir Sementsov-Ogievskiy wrote: > 14.10.2020 15:51, Max Reitz wrote: >> On 12.10.20 19:43, Andrey Shinkevich wrote: >>> If the flag BDRV_REQ_PREFETCH was set, pass it further to the >>> COR-driver to skip unneeded reading. It can be taken i

Re: [PATCH v11 04/13] copy-on-read: pass overlay base node name to COR driver

2020-10-14 Thread Max Reitz
On 14.10.20 16:56, Vladimir Sementsov-Ogievskiy wrote: > 14.10.2020 14:57, Max Reitz wrote: >> On 14.10.20 13:09, Max Reitz wrote: >>> On 12.10.20 19:43, Andrey Shinkevich wrote: >>>> We are going to use the COR-filter for a block-stream job. >>>>

Re: [PATCH v11 02/13] copy-on-read: add filter append/drop functions

2020-10-14 Thread Max Reitz
On 14.10.20 16:28, Andrey Shinkevich wrote: > On 14.10.2020 13:44, Max Reitz wrote: >> On 12.10.20 19:43, Andrey Shinkevich wrote: >>> Provide API for the COR-filter insertion/removal. >>> Also, drop the filter child permissions for an inactive state when the >&

Re: [PATCH v11 13/13] block: apply COR-filter to block-stream jobs

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > This patch completes the series with the COR-filter insertion for > block-stream operations. Adding the filter makes it possible for copied > regions to be discarded in backing files during the block-stream job, > what will reduce the disk overuse. >

Re: [PATCH v11 10/13] stream: skip filters when writing backing file name to QCOW2 header

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > Avoid writing a filter JSON-name to QCOW2 image when the backing file > is changed after the block stream job. > > Signed-off-by: Andrey Shinkevich > --- > block/stream.c | 9 + > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff

Re: [PATCH v11 11/13] stream: mark backing-file argument as deprecated

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > Whereas the block-stream job starts using a backing file name of the > base node overlay after the block-stream job completes, mark the QMP > 'backing-file' argument as deprecated. > > Signed-off-by: Andrey Shinkevich > --- >

Re: [PATCH v11 12/13] stream: remove unused backing-file name parameter

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > The 'backing-file' argument is not used by the block-stream job. It > designates a backing file name to set in QCOW2 image header after the > block-stream job finished. A backing file name of the node above base > is used instead. > > Signed-off-by:

Re: [PATCH v11 09/13] copy-on-read: skip non-guest reads if no copy needed

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > If the flag BDRV_REQ_PREFETCH was set, pass it further to the > COR-driver to skip unneeded reading. It can be taken into account for > the COR-algorithms optimization. That check is being made during the > block stream job by the moment. > >

Re: [PATCH v11 08/13] copy-on-read: add support for BDRV_REQ_PREFETCH to COR-filter

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > Add support for the BDRV_REQ_PREFETCH flag to the supported_write_flags s/write/read/ > of the COR-filter. > > Signed-off-by: Andrey Shinkevich > --- > block/copy-on-read.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git

Re: [PATCH v11 07/13] block: include supported_read_flags into BDS structure

2020-10-14 Thread Max Reitz
+++ > 1 file changed, 4 insertions(+) Not sure what the problem with passing BDRV_REQ_PREFETCH to drivers that aren’t the COR filter are would be, but: Reviewed-by: Max Reitz (I mean, outside of the context of COR the flag is undefined, so it can be anything, but intuitively I’d assume i

Re: [PATCH v11 06/13] block: modify the comment for BDRV_REQ_PREFETCH flag

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > Modify the comment for the flag BDRV_REQ_PREFETCH as we are going to > use it alone and pass it to the COR-filter driver for further > processing. > > Signed-off-by: Andrey Shinkevich > --- > include/block/block.h | 7 --- > 1 file changed, 4

Re: [PATCH v11 04/13] copy-on-read: pass overlay base node name to COR driver

2020-10-14 Thread Max Reitz
On 14.10.20 13:09, Max Reitz wrote: > On 12.10.20 19:43, Andrey Shinkevich wrote: >> We are going to use the COR-filter for a block-stream job. >> To limit COR operations by the base node in the backing chain during >> stream job, pass the name of overlay base node to the c

Re: [PATCH v11 05/13] copy-on-read: limit COR operations to base in COR driver

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > Limit COR operations by the base node in the backing chain when the > overlay base node name is given. It will be useful for a block stream > job when the COR-filter is applied. The overlay base node is passed as > the base itself may change due to

Re: [PATCH v11 05/13] copy-on-read: limit COR operations to base in COR driver

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > Limit COR operations by the base node in the backing chain when the > overlay base node name is given. It will be useful for a block stream > job when the COR-filter is applied. The overlay base node is passed as > the base itself may change due to

Re: [PATCH v11 04/13] copy-on-read: pass overlay base node name to COR driver

2020-10-14 Thread Max Reitz
On 12.10.20 19:43, Andrey Shinkevich wrote: > We are going to use the COR-filter for a block-stream job. > To limit COR operations by the base node in the backing chain during > stream job, pass the name of overlay base node to the copy-on-read > driver as base node itself may change due to

Re: [PATCH v11 02/13] copy-on-read: add filter append/drop functions

2020-10-14 Thread Max Reitz
ockDriverState *bs, > + QDict *node_options, > + int flags, Error **errp) I had hoped you could make this a generic block layer function. :( (Because it really is rather generic) *shrug* Reviewed-by: Max R

Re: [PATCH v2] migration/block-dirty-bitmap: fix uninitialized variable warning

2020-10-14 Thread Max Reitz
On 14.10.20 03:03, Chenqun (kuhn) wrote: > > >> -Original Message----- >> From: Max Reitz [mailto:mre...@redhat.com] >> Sent: Tuesday, October 13, 2020 10:47 PM >> To: Chenqun (kuhn) ; qemu-devel@nongnu.org; >> qemu-triv...@nongnu.org >> Cc: vsemen

Re: [PATCH v2] migration/block-dirty-bitmap: fix uninitialized variable warning

2020-10-13 Thread Max Reitz
On 13.10.20 14:33, Chen Qun wrote: > A default value is provided for the variable 'bitmap_name' to avoid compiler > warning. > > The compiler show warning: > migration/block-dirty-bitmap.c:1090:13: warning: ‘bitmap_name’ > may be used uninitialized in this function [-Wmaybe-uninitialized] >

Re: [PATCH qemu 4/4] iotests: add test for bitmap mirror

2020-10-13 Thread Max Reitz
On 02.10.20 10:23, Fabian Grünbichler wrote: > On October 1, 2020 7:31 pm, Max Reitz wrote: >> On 22.09.20 11:14, Fabian Grünbichler wrote: >>> heavily based on/practically forked off iotest 257 for bitmap backups, >>> but: >>> >>> - no writes t

Re: [PATCH v2 1/3] block: push error reporting into bdrv_all_*_snapshot functions

2020-10-12 Thread Max Reitz
| 37 +--- > monitor/hmp-cmds.c | 7 +--- > replay/replay-debugging.c | 4 +- > tests/qemu-iotests/267.out | 10 ++--- > 7 files changed, 67 insertions(+), 89 deletions(-) Reviewed-by: Max Reitz

Re: Which qemu change corresponds to RedHat bug 1655408

2020-10-12 Thread Max Reitz
On 09.10.20 14:55, Jakob Bohm wrote: > On 2020-10-09 10:48, Max Reitz wrote: >> On 08.10.20 18:49, Jakob Bohm wrote: >>> (Top posting because previous reply did so): >>> >>> If the bug was closed as "can't reproduce", why was a very similar bug >&

Re: [PATCH 1/3] block: push error reporting into bdrv_all_*_snapshot functions

2020-10-12 Thread Max Reitz
On 12.10.20 12:16, Philippe Mathieu-Daudé wrote: > On 10/12/20 12:07 PM, Max Reitz wrote: >> On 08.10.20 19:48, Philippe Mathieu-Daudé wrote: >>> From: Daniel P. Berrangé >>> >>> The bdrv_all_*_snapshot functions return a BlockDriverState pointer >>&g

Re: [PATCH 1/3] block: push error reporting into bdrv_all_*_snapshot functions

2020-10-12 Thread Max Reitz
On 08.10.20 19:48, Philippe Mathieu-Daudé wrote: > From: Daniel P. Berrangé > > The bdrv_all_*_snapshot functions return a BlockDriverState pointer > for the invalid backend, which the callers then use to report an > error message. In some cases multiple callers are reporting the > same error

Re: Which qemu change corresponds to RedHat bug 1655408

2020-10-12 Thread Max Reitz
On 10.10.20 00:54, Jakob Bohm wrote: [...] > Theoretically, locking on a raw file needs to be protocol-compatible > with loop-mounting the same raw file, so if the loop driver doesn't > probe those magic byte offsets to prevent out-of-order block writes, > then there is little point for the qemu

Re: Which qemu change corresponds to RedHat bug 1655408

2020-10-09 Thread Max Reitz
On 09.10.20 14:55, Jakob Bohm wrote: > On 2020-10-09 10:48, Max Reitz wrote: [...] > The error I got was specifically "Failed to lock byte 100" and VM not > starting.  The ISO file was on a R/W NFS3 share, but was itself R/O for > the user that root was mapped to by lin

Re: Which qemu change corresponds to RedHat bug 1655408

2020-10-09 Thread Max Reitz
On 08.10.20 18:49, Jakob Bohm wrote: > (Top posting because previous reply did so): > > If the bug was closed as "can't reproduce", why was a very similar bug > listed as fixed in RHSA-2019:2553-01 ? Hi, Which very similar bug do you mean? I can only guess that perhaps you mean 1603104 or

Re: [PATCH qemu 4/4] iotests: add test for bitmap mirror

2020-10-01 Thread Max Reitz
On 22.09.20 11:14, Fabian Grünbichler wrote: > heavily based on/practically forked off iotest 257 for bitmap backups, > but: > > - no writes to filter node 'mirror-top' between completion and > finalization, as those seem to deadlock? > - no inclusion of not-yet-available full/top sync modes in

Re: [PATCH qemu 3/4] mirror: move some checks to qmp

2020-10-01 Thread Max Reitz
block/mirror.c | 28 +--- > blockdev.c | 29 + > 2 files changed, 34 insertions(+), 23 deletions(-) Reviewed-by: Max Reitz signature.asc Description: OpenPGP digital signature

Re: [PATCH qemu 2/4] drive-mirror: add support for conditional and always bitmap sync modes

2020-10-01 Thread Max Reitz
On 22.09.20 11:14, Fabian Grünbichler wrote: > From: John Snow > > Teach mirror two new tricks for using bitmaps: > > Always: no matter what, we synchronize the copy_bitmap back to the > sync_bitmap. In effect, this allows us resume a failed mirror at a later > date, since the target bdrv

Re: [PATCH qemu 1/4] drive-mirror: add support for sync=bitmap mode=never

2020-10-01 Thread Max Reitz
power of 2 between 512 and 64M > +# power of 2 between 512 and 64M . Must not be specified if s/ \./\./ (What a cheerful-looking regex.) With that fixed: Reviewed-by: Max Reitz > +# @bitmap is present. > # > # @buf-size: maximum amount of data in flight from source to > #target signature.asc Description: OpenPGP digital signature

Re: [PATCH v6 14/15] scripts/simplebench: improve ascii table: add difference line

2020-10-01 Thread Max Reitz
On 25.09.20 19:13, Vladimir Sementsov-Ogievskiy wrote: > 25.09.2020 13:24, Max Reitz wrote: >> On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: >>> Performance improvements / degradations are usually discussed in >>> percentage. Let's make the script calculate it

Re: [PATCH v6 11/15] iotests: add 298 to test new preallocate filter driver

2020-10-01 Thread Max Reitz
On 25.09.20 17:32, Vladimir Sementsov-Ogievskiy wrote: > 25.09.2020 18:11, Vladimir Sementsov-Ogievskiy wrote: >> 25.09.2020 12:11, Max Reitz wrote: >>> On 25.09.20 10:49, Vladimir Sementsov-Ogievskiy wrote: >>>> 25.09.2020 11:26, Max Reitz wrote: >>>&

Re: [PATCH v2 31/31] iotests: Test block-export-* QMP interface

2020-09-25 Thread Max Reitz
ed, 257 insertions(+) > create mode 100755 tests/qemu-iotests/307 > create mode 100644 tests/qemu-iotests/307.out Reviewed-by: Max Reitz signature.asc Description: OpenPGP digital signature

Re: [PATCH v2 30/31] iotests: Allow supported and unsupported formats at the same time

2020-09-25 Thread Max Reitz
> --- > tests/qemu-iotests/iotests.py | 6 +- > 1 file changed, 1 insertion(+), 5 deletions(-) Reviewed-by: Max Reitz signature.asc Description: OpenPGP digital signature

Re: [PATCH v2 29/31] iotests: Introduce qemu_nbd_list_log()

2020-09-25 Thread Max Reitz
On 24.09.20 17:27, Kevin Wolf wrote: > Add a function to list the NBD exports offered by an NBD server. > > Signed-off-by: Kevin Wolf > --- > tests/qemu-iotests/iotests.py | 13 - > 1 file changed, 12 insertions(+), 1 deletion(-) Reviewed-by: Max Reitz signatu

Re: [PATCH v2 28/31] iotests: Factor out qemu_tool_pipe_and_status()

2020-09-25 Thread Max Reitz
tests/iotests.py | 49 --- > 1 file changed, 23 insertions(+), 26 deletions(-) Reviewed-by: Max Reitz signature.asc Description: OpenPGP digital signature

Re: [PATCH v2 27/31] nbd: Deprecate nbd-server-add/remove

2020-09-25 Thread Max Reitz
On 24.09.20 17:27, Kevin Wolf wrote: > These QMP commands are replaced by block-export-add/del. > > Signed-off-by: Kevin Wolf > --- > qapi/block-export.json | 11 +-- > docs/system/deprecated.rst | 6 ++ > 2 files changed, 15 insertions(+), 2 deletions

Re: [PATCH v2 26/31] nbd: Merge nbd_export_new() and nbd_export_create()

2020-09-25 Thread Max Reitz
On 24.09.20 17:27, Kevin Wolf wrote: > There is no real reason any more why nbd_export_new() and > nbd_export_create() should be separate functions. The latter only > performs a few checks before it calls the former. > > What makes the current state stand out is that it's the only function in >

Re: [PATCH v2 21/31] block/export: Add BLOCK_EXPORT_DELETED event

2020-09-25 Thread Max Reitz
tered the event, not the return): https://git.xanclic.moe/XanClic/qemu/commit/e6f7510149a4a26c868013639ec89d28f16857d8#diff-3 and considered it kind of a hack. Oh well. :) Reviewed-by: Max Reitz > $QEMU_IO_PROG -f raw -r -c close \ > "nbd+unix:///drv?socket=$SOCK_DIR/nbd" 2>&1 \ signature.asc Description: OpenPGP digital signature

Re: [PATCH v6 15/15] scripts/simplebench: add bench_prealloc.py

2020-09-25 Thread Max Reitz
> create mode 100755 scripts/simplebench/bench_prealloc.py Reviewed-by: Max Reitz signature.asc Description: OpenPGP digital signature

Re: [PATCH v6 14/15] scripts/simplebench: improve ascii table: add difference line

2020-09-25 Thread Max Reitz
On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: > Performance improvements / degradations are usually discussed in > percentage. Let's make the script calculate it for us. > > Signed-off-by: Vladimir Sementsov-Ogievskiy > --- > scripts/simplebench/simplebench.py | 46

Re: [PATCH v6 13/15] scripts/simplebench: improve view of ascii table

2020-09-25 Thread Max Reitz
On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: > Introduce dynamic float precision and use percentage to show delta. > > Signed-off-by: Vladimir Sementsov-Ogievskiy > --- > scripts/simplebench/simplebench.py | 26 +- > 1 file changed, 25 insertions(+), 1

Re: [PATCH v6 11/15] iotests: add 298 to test new preallocate filter driver

2020-09-25 Thread Max Reitz
On 25.09.20 10:49, Vladimir Sementsov-Ogievskiy wrote: > 25.09.2020 11:26, Max Reitz wrote: >> On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: >>> Signed-off-by: Vladimir Sementsov-Ogievskiy >>> --- >>>   tests/qemu-iotests/298 | 186 +

Re: [PATCH v6 12/15] scripts/simplebench: support iops

2020-09-25 Thread Max Reitz
On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: > Support benchmarks returning not seconds but iops. We'll use it for > further new test. > > Signed-off-by: Vladimir Sementsov-Ogievskiy > --- > scripts/simplebench/simplebench.py | 35 +++--- > 1 file changed, 27

Re: [PATCH v6 11/15] iotests: add 298 to test new preallocate filter driver

2020-09-25 Thread Max Reitz
On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: > Signed-off-by: Vladimir Sementsov-Ogievskiy > --- > tests/qemu-iotests/298 | 186 + > tests/qemu-iotests/298.out | 5 + > tests/qemu-iotests/group | 1 + > 3 files changed, 192 insertions(+) >

Re: [PATCH v6 10/15] iotests: qemu_io_silent: support --image-opts

2020-09-25 Thread Max Reitz
On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: > Signed-off-by: Vladimir Sementsov-Ogievskiy > --- > tests/qemu-iotests/iotests.py | 7 ++- > 1 file changed, 6 insertions(+), 1 deletion(-) Reviewed-by: Max Reitz signature.asc Description: OpenPGP digital signature

Re: [PATCH v6 09/15] qemu-io: add preallocate mode parameter for truncate command

2020-09-24 Thread Max Reitz
> +.argmin = 1, > +.argmax = 3, > +.args = "[-m prealloc_mode] off", > +.oneline= "truncates the current file at the given offset", > +}; > + Forward-declaring truncate_cmd instead of truncate_f would mean a smaller diffstat. But that isn’t what other commands do, so. *shrug* Reviewed-by: Max Reitz signature.asc Description: OpenPGP digital signature

Re: [PATCH v6 08/15] block: introduce preallocate filter

2020-09-24 Thread Max Reitz
On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: > It's intended to be inserted between format and protocol nodes to > preallocate additional space (expanding protocol file) on writes > crossing EOF. It improves performance for file-systems with slow > allocation. > > Signed-off-by:

Re: [PATCH v8 2/7] copy-on-read: add filter append/drop functions

2020-09-24 Thread Max Reitz
On 24.09.20 16:51, Vladimir Sementsov-Ogievskiy wrote: > 24.09.2020 16:25, Max Reitz wrote: >> On 23.09.20 16:38, Vladimir Sementsov-Ogievskiy wrote: >>> 17.09.2020 19:09, Andrey Shinkevich wrote: >>>> On 04.09.2020 14:22, Max Reitz wrote: >>>>&g

Re: [PATCH v6 07/15] block: bdrv_check_perm(): process children anyway

2020-09-24 Thread Max Reitz
On 18.09.20 20:19, Vladimir Sementsov-Ogievskiy wrote: > Do generic processing even for drivers which define .bdrv_check_perm > handler. It's needed for further preallocate filter: it will need to do > additional action on bdrv_check_perm, but don't want to reimplement > generic logic. > > The

Re: [PATCH v8 2/7] copy-on-read: add filter append/drop functions

2020-09-24 Thread Max Reitz
On 23.09.20 16:38, Vladimir Sementsov-Ogievskiy wrote: > 17.09.2020 19:09, Andrey Shinkevich wrote: >> On 04.09.2020 14:22, Max Reitz wrote: >>> On 28.08.20 18:52, Andrey Shinkevich wrote: >>>> Provide API for the COR-filter insertion/removal. >> ... >>

Re: [PATCH v8 6/7] block-stream: freeze link to base node during stream job

2020-09-24 Thread Max Reitz
On 07.09.20 14:17, Vladimir Sementsov-Ogievskiy wrote: > 07.09.2020 14:44, Max Reitz wrote: >> On 04.09.20 15:48, Vladimir Sementsov-Ogievskiy wrote: >>> 04.09.2020 16:21, Max Reitz wrote: >>>> On 28.08.20 18:52, Andrey Shinkevich wrote: >>>>> To

Re: [PATCH v8 5/7] copy-on-read: limit guest writes to base in COR driver

2020-09-24 Thread Max Reitz
On 22.09.20 15:13, Andrey Shinkevich wrote: > On 04.09.2020 16:59, Vladimir Sementsov-Ogievskiy wrote: >> 04.09.2020 15:50, Max Reitz wrote: >>> On 28.08.20 18:52, Andrey Shinkevich wrote: >>>> Limit the guest's COR operations by the base node in the backing

Re: [PATCH v2 00/20] block/export: Allow exporting BDSs via FUSE

2020-09-23 Thread Max Reitz
On 22.09.20 17:58, Daniel P. Berrangé wrote: > On Tue, Sep 22, 2020 at 12:49:12PM +0200, Max Reitz wrote: >> Based-on: <20200907182011.521007-1-kw...@redhat.com> >> (“block/export: Add infrastructure and QAPI for block exports”) >> >> (Though its pat

Re: [PATCH v2 01/20] configure: Detect libfuse

2020-09-22 Thread Max Reitz
On 22.09.20 13:14, Thomas Huth wrote: [...] > Could you turn this immediately into a meson test instead? See e.g. > https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg07112.html as > an example for how to do this. Done (I think). Until I send v3, the updated version lives here:

Re: [PATCH v2 01/20] configure: Detect libfuse

2020-09-22 Thread Max Reitz
On 22.09.20 13:14, Thomas Huth wrote: [...] > Could you turn this immediately into a meson test instead? See e.g. > https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg07112.html as > an example for how to do this. Sure! Max signature.asc Description: OpenPGP digital signature

[PATCH v2 20/20] iotests/308: Add test for FUSE exports

2020-09-22 Thread Max Reitz
We have good coverage of the normal I/O paths now, but what remains is a test that tests some more special cases: Exporting an image on itself (thus turning a formatted image into a raw one), some error cases, and non-writable and non-growable exports. Signed-off-by: Max Reitz --- tests/qemu

[PATCH v2 17/20] iotests: Give access to the qemu-storage-daemon

2020-09-22 Thread Max Reitz
Signed-off-by: Max Reitz --- tests/qemu-iotests/check | 11 +++ tests/qemu-iotests/common.rc | 17 + 2 files changed, 28 insertions(+) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index e14a1f354d..467a7cf1b7 100755 --- a/tests/qemu-iotests/check

[PATCH v2 14/20] iotests: Let _make_test_img guess $TEST_IMG_FILE

2020-09-22 Thread Max Reitz
alue and thus work around what technically is the caller misbehaving. This second solution is less clean, but it is robust against people keeping their old habit of adjusting TEST_IMG only, and requires much less changes. So this patch implements it. Signed-off-by: Max Reitz --- tes

[PATCH v2 16/20] storage-daemon: Call bdrv_close_all() on exit

2020-09-22 Thread Max Reitz
Otherwise, exports and block devices are not properly shut down and closed, unless the users explicitly issues blockdev-del and block-export-del commands for each of them. Signed-off-by: Max Reitz --- storage-daemon/qemu-storage-daemon.c | 3 +++ 1 file changed, 3 insertions(+) diff --git

[PATCH v2 13/20] iotests: Restrict some Python tests to file

2020-09-22 Thread Max Reitz
Most Python tests are restricted to the file protocol (without explicitly saying so), but these are the ones that would break ./check -fuse -qcow2. Signed-off-by: Max Reitz --- tests/qemu-iotests/206 | 3 ++- tests/qemu-iotests/242 | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff

[PATCH v2 11/20] iotests: Derive image names from $TEST_IMG

2020-09-22 Thread Max Reitz
Avoid creating images with custom filenames in $TEST_DIR, because non-file protocols may want to keep $TEST_IMG (and all other test images) in some other directory. Signed-off-by: Max Reitz --- tests/qemu-iotests/200 | 3 +-- tests/qemu-iotests/200.out | 4 ++-- tests/qemu-iotests/229

[PATCH v2 19/20] iotests: Enable fuse for many tests

2020-09-22 Thread Max Reitz
the rather low-hanging fruits. Note that 221 and 250 only pass when .lseek is correctly implemented, which is only possible with a libfuse that is 3.8 or newer. Signed-off-by: Max Reitz --- tests/qemu-iotests/025 | 2 +- tests/qemu-iotests/026 | 2 +- tests/qemu-iotests/028 | 2 +- tests/qemu

[PATCH v2 10/20] iotests/046: Avoid renaming images

2020-09-22 Thread Max Reitz
This generally does not work on non-file protocols. It is better to create the image with the final name from the start, and most tests do this already. Let 046 follow suit. Signed-off-by: Max Reitz --- tests/qemu-iotests/046 | 5 +++-- tests/qemu-iotests/046.out | 2 +- 2 files changed

[PATCH v2 18/20] iotests: Allow testing FUSE exports

2020-09-22 Thread Max Reitz
This pretends FUSE exports are a kind of protocol. As such, they are always tested under the format node. This is probably the best way to test them, actually, because this will generate more I/O load and more varied patterns. Signed-off-by: Max Reitz --- tests/qemu-iotests/check

[PATCH v2 15/20] iotests/287: Clean up subshell test image

2020-09-22 Thread Max Reitz
is important, so clean up the image before the state is lost. Signed-off-by: Max Reitz --- tests/qemu-iotests/287 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/287 b/tests/qemu-iotests/287 index f98a4cadc1..036cc09e82 100755 --- a/tests/qemu-iotests/287

[PATCH v2 07/20] iotests: Do not needlessly filter _make_test_img

2020-09-22 Thread Max Reitz
In most cases, _make_test_img does not need a _filter_imgfmt on top. It does that by itself. (The exception is when IMGFMT has been overwritten but TEST_IMG has not. In such cases, we do need a _filter_imgfmt on top to filter the test's original IMGFMT from TEST_IMG.) Signed-off-by: Max Reitz

[PATCH v2 08/20] iotests: Do not pipe _make_test_img

2020-09-22 Thread Max Reitz
). Signed-off-by: Max Reitz --- tests/qemu-iotests/071 | 19 +++ tests/qemu-iotests/174 | 10 +- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/tests/qemu-iotests/071 b/tests/qemu-iotests/071 index 88faebcc1d..18fe9054b0 100755 --- a/tests/qemu-iotests/071 +++ b

[PATCH v2 06/20] fuse: Implement hole detection through lseek

2020-09-22 Thread Max Reitz
This is a relatively new feature in libfuse (available since 3.8.0, which was released in November 2019), so we have to let configure check whether it is available before making use of it. Signed-off-by: Max Reitz --- configure | 32 +++ block/export/fuse.c | 77

[PATCH v2 12/20] iotests/091: Use _cleanup_qemu instad of "wait"

2020-09-22 Thread Max Reitz
If the test environment has some other child processes running (like a storage daemon that provides a FUSE export), then "wait" will never finish. Use wait=yes _cleanup_qemu instead. (We need to discard the output so there is no change to the reference output.) Signed-off-by:

[PATCH v2 05/20] fuse: (Partially) implement fallocate()

2020-09-22 Thread Max Reitz
This allows allocating areas after the (old) EOF as part of a growing resize, writing zeroes, and discarding. Signed-off-by: Max Reitz --- block/export/fuse.c | 79 + 1 file changed, 79 insertions(+) diff --git a/block/export/fuse.c b/block/export

[PATCH v2 00/20] block/export: Allow exporting BDSs via FUSE

2020-09-22 Thread Max Reitz
ge' 016/20:[down] 'storage-daemon: Call bdrv_close_all() on exit' 017/20:[down] 'iotests: Give access to the qemu-storage-daemon' 018/20:[0042] [FC] 'iotests: Allow testing FUSE exports' 019/20:[0026] [FC] 'iotests: Enable fuse for many tests' 020/20:[0104] [FC] 'iotests/281: Add test for FUSE exports'

[PATCH v2 09/20] iotests: Use convert -n in some cases

2020-09-22 Thread Max Reitz
output. Signed-off-by: Max Reitz --- tests/qemu-iotests/028 | 14 -- tests/qemu-iotests/028.out | 3 +++ tests/qemu-iotests/089 | 3 ++- tests/qemu-iotests/089.out | 1 + 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/tests/qemu-iotests/028 b/tests/qemu

[PATCH v2 02/20] fuse: Allow exporting BDSs via FUSE

2020-09-22 Thread Max Reitz
for it to settle. Therefore, keep track of mount point paths to at least catch the most obvious instances of that problem. Signed-off-by: Max Reitz --- qapi/block-export.json | 24 +++- include/block/fuse.h | 30 + block.c | 1 + block/export/export.c| 4 + block/export

[PATCH v2 04/20] fuse: Allow growable exports

2020-09-22 Thread Max Reitz
These will behave more like normal files in that writes beyond the EOF will automatically grow the export size. Signed-off-by: Max Reitz --- qapi/block-export.json | 6 +- block/export/fuse.c| 12 +++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/qapi/block

[PATCH v2 03/20] fuse: Implement standard FUSE operations

2020-09-22 Thread Max Reitz
This makes the export actually useful instead of only producing errors whenever it is accessed. Signed-off-by: Max Reitz --- block/export/fuse.c | 226 1 file changed, 226 insertions(+) diff --git a/block/export/fuse.c b/block/export/fuse.c index

[PATCH v2 01/20] configure: Detect libfuse

2020-09-22 Thread Max Reitz
Signed-off-by: Max Reitz --- configure | 34 ++ meson.build | 6 ++ 2 files changed, 40 insertions(+) diff --git a/configure b/configure index ce27eafb0a..21c31e4694 100755 --- a/configure +++ b/configure @@ -538,6 +538,7 @@ meson="" ninja=&quo

Re: [PATCH v2 04/20] block/block-copy: More explicit call_state

2020-09-21 Thread Max Reitz
On 18.09.20 22:11, Vladimir Sementsov-Ogievskiy wrote: > 17.07.2020 16:45, Max Reitz wrote: >> On 01.06.20 20:11, Vladimir Sementsov-Ogievskiy wrote: >>> Refactor common path to use BlockCopyCallState pointer as parameter, to >>> prepare it for use in asynchronous block

[PATCH] iotests/046: Filter request length

2020-09-18 Thread Max Reitz
request), the test fails (for no good reason). Filter the length, too. Signed-off-by: Max Reitz --- This has annoyed me for quite some time now, but when rebasing (and testing) my FUSE export series, it became apparent that on a FUSE export qcow2 images with -o compat=0.10 always fail this test

Re: [PATCH 3/3] block: enable long IO requests report by default

2020-09-17 Thread Max Reitz
On 10.08.20 12:14, Denis V. Lunev wrote: > Latency threshold is set to 10 seconds following guest request timeout > on legacy storage controller. > > Signed-off-by: Denis V. Lunev > CC: Vladimir Sementsov-Ogievskiy > CC: Stefan Hajnoczi > CC: Kevin Wolf > CC: Max Re

Re: [PATCH 1/3] block/block-backend: add converter from BlockAcctStats to BlockBackend

2020-09-17 Thread Max Reitz
Vladimir Sementsov-Ogievskiy > CC: Stefan Hajnoczi > CC: Kevin Wolf > CC: Max Reitz > --- > block/block-backend.c | 5 + > include/sysemu/block-backend.h | 1 + > 2 files changed, 6 insertions(+) (Note: I’m just writing this mail because I already responded to pat

Re: [PATCH 2/3] block: add logging facility for long standing IO requests

2020-09-17 Thread Max Reitz
gt; Signed-off-by: Denis V. Lunev > Reviewed-by: Vladimir Sementsov-Ogievskiy > CC: Stefan Hajnoczi > CC: Kevin Wolf > CC: Max Reitz > --- > block/accounting.c | 59 +- > blockdev.c | 7 - > include/block

<    5   6   7   8   9   10   11   12   13   14   >