[PULL 23/23] iotests/image-fleecing: test push backup with fleecing

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Signed-off-by: Vladimir Sementsov-Ogievskiy Message-Id: <20220303194349.2304213-17-vsement...@virtuozzo.com> Signed-off-by: Hanna Reitz --- tests/qemu-iotests/tests/image-fleecing | 125 +++- tests/qemu-iotests/tests/image-fleeci

[PULL 21/23] iotests.py: add qemu_io_pipe_and_status()

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Add helper that returns both status and output, to be used in the following commit Signed-off-by: Vladimir Sementsov-Ogievskiy Message-Id: <20220303194349.2304213-15-vsement...@virtuozzo.com> Signed-off-by: Hanna Reitz --- tests/qemu-iotests/iotests.

[PULL 16/23] block/reqlist: add reqlist_wait_all()

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Add function to wait for all intersecting requests. To be used in the further commit. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Nikita Lapshin Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-10-vsement...@virtuozzo.com>

[PULL 13/23] block: intoduce reqlist

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Split intersecting-requests functionality out of block-copy to be reused in copy-before-write filter. Note: while being here, fix tiny typo in MAINTAINERS. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id

[PULL 11/23] block/copy-before-write: add bitmap open parameter

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy This brings "incremental" mode to copy-before-write filter: user can specify bitmap so that filter will copy only "dirty" areas. Signed-off-by: Vladimir Sementsov-Ogievskiy Message-Id: <20220303194349.2304213-5-vsement...@virtuozzo.co

[PULL 09/23] block/dirty-bitmap: bdrv_merge_dirty_bitmap(): add return value

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy That simplifies handling failure in existing code and in further new usage of bdrv_merge_dirty_bitmap(). Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-3-vsement...@virtuozzo.com> Signed-off-by:

[PULL 10/23] block/block-copy: block_copy_state_new(): add bitmap parameter

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy This will be used in the following commit to bring "incremental" mode to copy-before-write filter. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-4-vsement...@virtuozzo.com> Signed-off

[PULL 05/23] tests/qemu-iotests/040: Skip TestCommitWithFilters without 'throttle'

2022-03-07 Thread Hanna Reitz
also passes again if 'throttle' has not been enabled in the QEMU binaries. Signed-off-by: Thomas Huth Message-Id: <20220223123127.3206042-1-th...@redhat.com> Signed-off-by: Hanna Reitz --- tests/qemu-iotests/040 | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/qemu-iotests/040 b

[PULL 04/23] block: fix preallocate filter: don't do unaligned preallocate requests

2022-03-07 Thread Hanna Reitz
BDRV_REQ_NO_WAIT with unaligned requests and add corresponding comment. Let's do so. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Denis V. Lunev Message-Id: <20220215121609.38570-1-vsement...@virtuozzo.com> [hreitz: Rebased on block GS/IO split] Signed-off-by: Hanna Reitz --- i

[PULL 19/23] block: copy-before-write: realize snapshot-access API

2022-03-07 Thread Hanna Reitz
plication for this is implementing timeout for CBW operations. Iotest 257 output is updated, as two more bitmaps now live in copy-before-write filter. Signed-off-by: Vladimir Sementsov-Ogievskiy Message-Id: <20220303194349.2304213-13-vsement...@virtuozzo.com> Signed-off-by: Hanna Reitz --- block/copy-before

[PULL 20/23] iotests/image-fleecing: add test-case for fleecing format node

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-14-vsement...@virtuozzo.com> Signed-off-by: Hanna Reitz --- tests/qemu-iotests/tests/image-fleecing | 64 +- tests/qemu-i

[PULL 12/23] block/block-copy: add block_copy_reset()

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Split block_copy_reset() out of block_copy_reset_unallocated() to be used separately later. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-6-vsement...@virtuozzo.com> Signed-off-by: Hanna

[PULL 08/23] block/block-copy: move copy_bitmap initialization to block_copy_state_new()

2022-03-07 Thread Hanna Reitz
reasonable to do it in block-copy. Note that for now cbw_open() is the only caller of block_copy_state_new(). Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-2-vsement...@virtuozzo.com> Signed-off-by: Hanna Reitz --- block/block-

[PULL 06/23] tests/qemu-iotests/testrunner: Quote "case not run" lines in TAP mode

2022-03-07 Thread Hanna Reitz
ets confused by these messages. Signed-off-by: Thomas Huth Message-Id: <20220223124353.3273898-1-th...@redhat.com> Signed-off-by: Hanna Reitz --- tests/qemu-iotests/testrunner.py | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/testrunner.py b/te

[PULL 01/23] ide: Increment BB in-flight counter for TRIM BH

2022-03-07 Thread Hanna Reitz
_trim_bh_cb() is done. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2029980 Suggested-by: Paolo Bonzini Signed-off-by: Hanna Reitz Message-Id: <20220120142259.120189-1-hre...@redhat.com> Reviewed-by: Paolo Bonzini Reviewed-by: John Snow Tested-by: John Snow --- hw/ide/core.c | 7

[PULL 22/23] iotests/image-fleecing: add test case with bitmap

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Note that reads zero areas (not dirty in the bitmap) fails, that's correct. Signed-off-by: Vladimir Sementsov-Ogievskiy Message-Id: <20220303194349.2304213-16-vsement...@virtuozzo.com> Signed-off-by: Hanna Reitz --- tests/qemu-iotests/tests/image-fl

[PULL 18/23] block: introduce snapshot-access block driver

2022-03-07 Thread Hanna Reitz
virtuozzo.com> [hreitz: Rebased on block GS/IO split] Signed-off-by: Hanna Reitz --- qapi/block-core.json | 4 +- include/block/block_int-common.h | 6 ++ block/snapshot-access.c | 132 +++ MAINTAINERS |

[PULL 15/23] block/dirty-bitmap: introduce bdrv_dirty_bitmap_status()

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Add a convenient function similar with bdrv_block_status() to get status of dirty bitmap. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-9-vsement...@virtuozzo.com> Signed-off-by: Hanna

[PULL 07/23] iotests: Write test output to TEST_DIR

2022-03-07 Thread Hanna Reitz
its usage altogether.) Signed-off-by: Hanna Reitz Message-Id: <20220221172909.762858-1-hre...@redhat.com> [hreitz: Simplified `Path(os.path.join(x, y))` to `Path(x, y)`, as suggested by Vladimir; and rebased on 9086c7639822b6 ("tests/qemu-iotests: Rework the check

[PULL 17/23] block/io: introduce block driver snapshot-access API

2022-03-07 Thread Hanna Reitz
, for example to export them through NBD. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-11-vsement...@virtuozzo.com> [hreitz: Rebased on block GS/IO split] Signed-off-by: Hanna Reitz --- include/block/block_int-common.h | 18 include

[PULL 14/23] block/reqlist: reqlist_find_conflict(): use ranges_overlap()

2022-03-07 Thread Hanna Reitz
From: Vladimir Sementsov-Ogievskiy Let's reuse convenient helper. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Hanna Reitz Message-Id: <20220303194349.2304213-8-vsement...@virtuozzo.com> Signed-off-by: Hanna Reitz --- block/reqlist.c | 3 ++- 1 file changed, 2 insertions

[PULL 03/23] block/curl.c: Check error return from curl_easy_setopt()

2022-03-07 Thread Hanna Reitz
. CURLOPT_URL). For consistency we check every call, even the ones that theoretically cannot fail. Fixes: Coverity CID 1459336, 1459482, 1460331 Signed-off-by: Peter Maydell Message-Id: <20220222152341.850419-3-peter.mayd...@linaro.org> Reviewed-by: Hanna Reitz Signed-off-by: Hanna Reitz --- block/

[PULL 00/23] Block patches

2022-03-07 Thread Hanna Reitz
- Fixes for the curl block driver - Fix for the preallocate block driver - IDE fix for zero-length TRIM requests Hanna Reitz (2): ide: Increment BB in-flight counter for TRIM BH iotests: Write test output to TEST_DIR Peter Maydell

[PULL 02/23] block/curl.c: Set error message string if curl_init_state() fails

2022-03-07 Thread Hanna Reitz
lippe Mathieu-Daudé Reviewed-by: Hanna Reitz Signed-off-by: Hanna Reitz --- block/curl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/block/curl.c b/block/curl.c index 6a6cd72975..9516852971 100644 --- a/block/curl.c +++ b/block/curl.c @@ -759,6 +759,8 @@ static int curl_open(BlockDriverState

[PATCH 0/5] block/amend: Fix failures seen in iotest 296

2022-03-04 Thread Hanna Reitz
permission checks under BQL” lest bisect breaks: - Patch 1 - Patch 2 or 3 (or both) - Patch 5 But if that isn’t feasible, we can just take the whole series on top. Hanna Reitz (5): block/amend: Clean up job on early failure block/amend: Always call .bdrv_amend_clean() block/crypto: Reset

[PATCH 5/5] iotests/296: Accept early failure

2022-03-04 Thread Hanna Reitz
so we need to wait for it to disappear even when the QMP command failed. Otherwise, the job ID "job0" will remain in use and we cannot launch another job with the same ID.) Signed-off-by: Hanna Reitz --- tests/qemu-iotests/296 | 8 ++-- tests/qemu-iotests/296.out | 17 +-

[PATCH 3/5] block/crypto: Reset updating_keys on perm failure

2022-03-04 Thread Hanna Reitz
When the permissions could not be changed as would be necessary for updating the keys, reset updating_keys to false so block_crypto_child_perms() will not continue to try claiming these permissions. Signed-off-by: Hanna Reitz --- block/crypto.c | 8 +++- 1 file changed, 7 insertions(+), 1

[PATCH 4/5] block/amend: Keep strong reference to BDS

2022-03-04 Thread Hanna Reitz
Otherwise, the BDS might be freed while the job is running, which would cause a use-after-free. Signed-off-by: Hanna Reitz --- block/amend.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block/amend.c b/block/amend.c index 553890ded9..f696a006e3 100644 --- a/block/amend.c +++ b/block

[PATCH 2/5] block/amend: Always call .bdrv_amend_clean()

2022-03-04 Thread Hanna Reitz
.bdrv_amend_clean() says block drivers can use it to clean up what was done in .bdrv_amend_pre_run(). Therefore, it should always be called after .bdrv_amend_pre_run(), which means we need it to call it in the JobDriver.free() callback, not in JobDriver.clean(). Signed-off-by: Hanna Reitz

[PATCH 1/5] block/amend: Clean up job on early failure

2022-03-04 Thread Hanna Reitz
Signed-off-by: Hanna Reitz --- block/amend.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/amend.c b/block/amend.c index 329bca53dc..f465738665 100644 --- a/block/amend.c +++ b/block/amend.c @@ -134,6 +134,7 @@ void qmp_x_blockdev_amend(const char *job_id, s->force = has_fo

Re: [PATCH v2 1/3] block: Make bdrv_refresh_limits() non-recursive

2022-03-04 Thread Hanna Reitz
On 04.03.22 15:14, Kevin Wolf wrote: Am 04.03.2022 um 13:44 hat Hanna Reitz geschrieben: On 03.03.22 17:56, Kevin Wolf wrote: Am 16.02.2022 um 11:53 hat Hanna Reitz geschrieben: bdrv_refresh_limits() recurses down to the node's children. That does not seem necessary: When we refresh limits

Re: [PATCH v2 1/3] block: Make bdrv_refresh_limits() non-recursive

2022-03-04 Thread Hanna Reitz
On 03.03.22 17:56, Kevin Wolf wrote: Am 16.02.2022 um 11:53 hat Hanna Reitz geschrieben: bdrv_refresh_limits() recurses down to the node's children. That does not seem necessary: When we refresh limits on some node, and then recurse down and were to change one of its children's BlockLimits

Re: [PATCH v6 00/16] Make image fleecing more usable

2022-03-04 Thread Hanna Reitz
On 03.03.22 20:43, Vladimir Sementsov-Ogievskiy wrote: v6: 11: add comment 15: limit to qcow2 with unsupported compat fix style 16: fix style change log('Backup finished ...') to assertion and comment Thanks a lot! Applied to my block branch:

[PATCH v2 3/4] qsd: Add --daemonize

2022-03-03 Thread Hanna Reitz
-nbd mainly does this to detect errors, though (while os_daemonize() has the child explicitly signal success after set up); because we do not redirect stderr after forking, error messages continue to appear on whatever the parent's stderr was (until set up is complete). Signed-off-by: Hanna Reitz

[PATCH v2 2/4] qsd: Add pre-init argument parsing pass

2022-03-03 Thread Hanna Reitz
possible. (The same caveat with --help applies: That means that "--blockdev inv-drv --inv-arg" will now complain about --inv-arg, not inv-drv.) This patch does make some references to --daemonize without having implemented it yet, but that will happen in the next patch. Signed-off-by: Hann

[PATCH v2 0/4] qsd: Add --daemonize; and add job quit tests

2022-03-03 Thread Hanna Reitz
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/4:[down] 'os-posix: Add os_set_daemonize()' 002/4:[0006] [FC] 'qsd: Add pre-init argument parsing pass' 003/4:[0148] [FC] 'qsd: Add --daemonize' 004/4:[] [--] 'iotests/185: Add post-READY quit tests' Hanna

[PATCH v2 4/4] iotests/185: Add post-READY quit tests

2022-03-03 Thread Hanna Reitz
. qemu is supposed to cancel the job so that it can quit as soon as possible instead of waiting for the job to complete (which it did before 6.2). Signed-off-by: Hanna Reitz --- tests/qemu-iotests/185 | 190 - tests/qemu-iotests/185.out | 48 ++ 2

[PATCH v2 1/4] os-posix: Add os_set_daemonize()

2022-03-03 Thread Hanna Reitz
-by: Hanna Reitz --- include/sysemu/os-posix.h | 1 + include/sysemu/os-win32.h | 5 + os-posix.c| 6 ++ 3 files changed, 12 insertions(+) diff --git a/include/sysemu/os-posix.h b/include/sysemu/os-posix.h index 2edf33658a..dd64fb401d 100644 --- a/include/sysemu/os-posix.h +++ b

Re: [PATCH v5 15/16] iotests/image-fleecing: add test case with bitmap

2022-03-03 Thread Hanna Reitz
On 03.03.22 12:44, Hanna Reitz wrote: On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote: Note that reads zero areas (not dirty in the bitmap) fails, that's correct. Signed-off-by: Vladimir Sementsov-Ogievskiy ---   tests/qemu-iotests/tests/image-fleecing | 32 ++--   tests/qemu

Re: [PATCH v5 15/16] iotests/image-fleecing: add test case with bitmap

2022-03-03 Thread Hanna Reitz
On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote: Note that reads zero areas (not dirty in the bitmap) fails, that's correct. Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/tests/image-fleecing | 32 ++-- tests/qemu-iotests/tests/image-fleecing.out | 84

Re: [PATCH v5 11/16] block: introduce snapshot-access block driver

2022-03-03 Thread Hanna Reitz
On 03.03.22 12:05, Hanna Reitz wrote: On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote: The new block driver simply utilizes snapshot-access API of underlying block node. In further patches we want to use it like this: [guest]   [NBD export

Re: [PATCH v5 11/16] block: introduce snapshot-access block driver

2022-03-03 Thread Hanna Reitz
On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote: The new block driver simply utilizes snapshot-access API of underlying block node. In further patches we want to use it like this: [guest] [NBD export] || | root |

Re: [PATCH v5 16/16] iotests/image-fleecing: test push backup with fleecing

2022-03-03 Thread Hanna Reitz
On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote: Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/tests/image-fleecing | 120 ++-- tests/qemu-iotests/tests/image-fleecing.out | 63 ++ 2 files changed, 151 insertions(+), 32 deletions(-)

[PATCH v2 1/3] iotests.py: Add supports_qcow2_zstd_compression()

2022-03-02 Thread Hanna Reitz
Suggested-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Hanna Reitz --- tests/qemu-iotests/iotests.py | 21 + 1 file changed, 21 insertions(+) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 6027780180..ce60abcadc 100644 --- a/tests/qemu

[PATCH v2 2/3] iotests/065: Check for zstd support

2022-03-02 Thread Hanna Reitz
Some test cases run in iotest 065 want to run with zstd compression just for added coverage. Run them with zlib if there is no zstd support compiled in. Reported-by: Thomas Huth Fixes: 12a936171d71f839dc907ff ("iotest 065: explicit compression type") Signed-off-by: Hanna Reitz ---

[PATCH v2 0/3] iotests: Check for zstd support

2022-03-02 Thread Hanna Reitz
to check for zstd support instead of checking for their own qemu-img create’s output - Have 065 fall back to zlib instead of skipping zstd test cases Hanna Reitz (3): iotests.py: Add supports_qcow2_zstd_compression() iotests/065: Check for zstd support iotests/303: Check for zstd support

Re: [PATCH 2/2] iotests/303: Check for zstd support

2022-03-02 Thread Hanna Reitz
On 02.03.22 12:31, Vladimir Sementsov-Ogievskiy wrote: 02.03.2022 14:09, Hanna Reitz wrote: On 22.02.22 16:55, Vladimir Sementsov-Ogievskiy wrote: 21.02.2022 20:08, Hanna Reitz wrote: 303 runs two test cases, one of which requires zstd support. Unfortunately, given that this is not a unittest

Re: [PATCH 1/2] iotests/065: Check for zstd support

2022-03-02 Thread Hanna Reitz
On 22.02.22 16:44, Vladimir Sementsov-Ogievskiy wrote: 21.02.2022 20:08, Hanna Reitz wrote: Some test cases run in iotest 065 require zstd support.  Skip them if qemu-img reports it not to be available. Reported-by: Thomas Huth Fixes: 12a936171d71f839dc907ff ("iotest 065: explicit compre

[PATCH v2 3/3] iotests/303: Check for zstd support

2022-03-02 Thread Hanna Reitz
excessive, given that this test is not in auto and thus likely only run by developers who have zstd support compiled in.) Fixes: 677e0bae686e7c670a71d1f ("iotest 303: explicit compression type") Signed-off-by: Hanna Reitz --- tests/qemu-iotests/303 | 4 +++- 1 file changed, 3 insertions(+),

Re: [PATCH 2/2] iotests/303: Check for zstd support

2022-03-02 Thread Hanna Reitz
On 22.02.22 16:55, Vladimir Sementsov-Ogievskiy wrote: 21.02.2022 20:08, Hanna Reitz wrote: 303 runs two test cases, one of which requires zstd support. Unfortunately, given that this is not a unittest-style test, we cannot easily skip that single case, and instead can only skip the whole test

[PATCH] block: Fix BB.root changing across bdrv_next()

2022-03-01 Thread Hanna Reitz
was that we returned last time. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2058457 Signed-off-by: Hanna Reitz --- Sadly, I didn't find a nice way to test this, primarily because I believe reproducing this requires a bdrv_flush_all() to come from the VM (without QMP command). The only way I know

Re: [PATCH] tests/qemu-iotests/testrunner: Quote "case not run" lines in TAP mode

2022-02-24 Thread Hanna Reitz
On 23.02.22 13:43, Thomas Huth wrote: In TAP mode, the stdout is reserved for the TAP protocol, so we have to make sure to mark other lines with a comment '#' character at the beginning to avoid that the TAP parser at the other end gets confused. To test this condition, run "configure" for

Re: [PATCH] tests/qemu-iotests/040: Skip TestCommitWithFilters without 'throttle'

2022-02-24 Thread Hanna Reitz
On 23.02.22 13:31, Thomas Huth wrote: iotest 040 already has some checks for the availability of the 'throttle' driver, but some new code has been added in the course of time that depends on 'throttle' but does not check for its availability. Add a check to the TestCommitWithFilters class so

Re: [PATCH] block: fix preallocate filter: don't do unaligned preallocate requests

2022-02-24 Thread Hanna Reitz
On 15.02.22 13:16, Vladimir Sementsov-Ogievskiy wrote: There is a bug in handling BDRV_REQ_NO_WAIT flag: we still may wait in wait_serialising_requests() if request is unaligned. And this is possible for the only user of this flag (preallocate filter) if underlying file is unaligned to its

Re: [PATCH v2 0/2] block/curl: check error return from curl_easy_setopt()

2022-02-24 Thread Hanna Reitz
On 22.02.22 16:23, Peter Maydell wrote: Coverity points out that we aren't checking the return value from curl_easy_setopt() for any of the calls to it we make in block/curl.c. Tested with 'make check' and with some basic smoke test command lines suggested by Dan: qemu-img info

Re: [PATCH v2 2/2] block/curl.c: Check error return from curl_easy_setopt()

2022-02-24 Thread Hanna Reitz
wed-by: Hanna Reitz

Re: [PATCH v2 1/2] block/curl.c: Set error message string if curl_init_state() fails

2022-02-24 Thread Hanna Reitz
Add the missing error string setup. (We can't be specific about the cause of failure: the documentation of curl_easy_init() just says "If this function returns NULL, something went wrong".) Signed-off-by: Peter Maydell --- block/curl.c | 2 ++ 1 file changed, 2 insertions(+) Reviewed-by: Hanna Reitz

Re: [PATCH v4 17/18] qapi: backup: add immutable-source parameter

2022-02-24 Thread Hanna Reitz
On 16.02.22 20:46, Vladimir Sementsov-Ogievskiy wrote: We are on the way to implement internal-backup with fleecing scheme, which includes backup job copying from fleecing block driver node (which is target of copy-before-write filter) to final target of backup. This job doesn't need own filter,

Re: [PATCH v4 15/18] iotests/image-fleecing: add test case with bitmap

2022-02-24 Thread Hanna Reitz
On 16.02.22 20:46, Vladimir Sementsov-Ogievskiy wrote: Note that reads zero areas (not dirty in the bitmap) fails, that's correct. Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/tests/image-fleecing | 32 ++-- tests/qemu-iotests/tests/image-fleecing.out | 84

Re: [PATCH v4 14/18] iotests.py: add qemu_io_pipe_and_status()

2022-02-24 Thread Hanna Reitz
On 16.02.22 20:46, Vladimir Sementsov-Ogievskiy wrote: Add helper that returns both status and output, to be used in the following commit Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/iotests.py | 4 1 file changed, 4 insertions(+) diff --git

Re: [PATCH v4 13/18] iotests/image-fleecing: add test-case for fleecing format node

2022-02-24 Thread Hanna Reitz
(-) Reviewed-by: Hanna Reitz

Re: [PATCH v4 12/18] block: copy-before-write: realize snapshot-access API

2022-02-24 Thread Hanna Reitz
On 16.02.22 20:46, Vladimir Sementsov-Ogievskiy wrote: Current scheme of image fleecing looks like this: [guest][NBD export] | | |root | root v v [copy-before-write] ->

Re: [PATCH v4 11/18] block: introduce snapshot-access filter

2022-02-24 Thread Hanna Reitz
On 16.02.22 20:46, Vladimir Sementsov-Ogievskiy wrote: The filter simply utilizes snapshot-access API of underlying block Nit picking: Well, it isn’t really a filter.  I understand where you’re coming from, but by definition it isn’t a filter driver. node. In further patches we want to

Re: [PATCH v4 08/18] block/dirty-bitmap: introduce bdrv_dirty_bitmap_status()

2022-02-24 Thread Hanna Reitz
-bitmap.c | 6 ++ util/hbitmap.c | 33 + 4 files changed, 53 insertions(+) Reviewed-by: Hanna Reitz

Re: [PATCH v4 10/18] block/io: introduce block driver snapshot-access API

2022-02-24 Thread Hanna Reitz
insertions(+) Yes, really nice.  Thanks. Reviewed-by: Hanna Reitz

Re: [PATCH v4 06/18] block: intoduce reqlist

2022-02-24 Thread Hanna Reitz
include/block/reqlist.h create mode 100644 block/reqlist.c Reviewed-by: Hanna Reitz

Re: [PATCH v4 04/18] block/copy-before-write: add bitmap open parameter

2022-02-24 Thread Hanna Reitz
On 16.02.22 20:46, Vladimir Sementsov-Ogievskiy wrote: This brings "incremental" mode to copy-before-write filter: user can specify bitmap so that filter will copy only "dirty" areas. Signed-off-by: Vladimir Sementsov-Ogievskiy --- qapi/block-core.json | 10 +++-

Re: [PATCH v4 07/18] block/reqlist: reqlist_find_conflict(): use ranges_overlap()

2022-02-24 Thread Hanna Reitz
On 16.02.22 20:46, Vladimir Sementsov-Ogievskiy wrote: Let's reuse convenient helper. Signed-off-by: Vladimir Sementsov-Ogievskiy --- block/reqlist.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Reviewed-by: Hanna Reitz

Re: [PATCH v4 03/18] block/block-copy: block_copy_state_new(): add bitmap parameter

2022-02-24 Thread Hanna Reitz
+- block/copy-before-write.c | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) Reviewed-by: Hanna Reitz

[PATCH] virtiofsd: Let meson check for statx.stx_mnt_id

2022-02-23 Thread Hanna Reitz
missing from its own headers. Let meson.build actually chek for both STATX_MNT_ID and statx.stx_mnt_id, and set CONFIG_STATX_MNT_ID if both are present. Then, use this config macro in virtiofsd. Closes: https://gitlab.com/qemu-project/qemu/-/issues/882 Signed-off-by: Hanna Reitz --- meson.build

Re: [PATCH] block/curl.c: Check error return from curl_easy_setopt()

2022-02-22 Thread Hanna Reitz
On 21.02.22 20:45, Peter Maydell wrote: On Tue, 1 Feb 2022 at 11:25, Hanna Reitz wrote: On 28.01.22 17:55, Peter Maydell wrote: Coverity points out that we aren't checking the return value from curl_easy_setopt() for any of the calls to it we make in block/curl.c. Fixes: Coverity CID 1459336

Re: [PATCH v2] iotests: Write test output to TEST_DIR

2022-02-22 Thread Hanna Reitz
On 22.02.22 15:39, Vladimir Sementsov-Ogievskiy wrote: 21.02.2022 20:29, Hanna Reitz wrote: Drop the use of OUTPUT_DIR (test/qemu-iotests under the build directory), and instead write test output files (.out.bad, .notrun, and .casenotrun) to TEST_DIR. With this, the same test can be run

[PATCH v2] iotests: Write test output to TEST_DIR

2022-02-21 Thread Hanna Reitz
its usage altogether.) Signed-off-by: Hanna Reitz --- v1: https://lists.nongnu.org/archive/html/qemu-block/2022-02/msg00675.html v2: - Delete .casenotrun before running a test: Writes to this file only append data, so if we do not delete it before a test run, it may still contain stale data

[PATCH 1/2] iotests/065: Check for zstd support

2022-02-21 Thread Hanna Reitz
Some test cases run in iotest 065 require zstd support. Skip them if qemu-img reports it not to be available. Reported-by: Thomas Huth Fixes: 12a936171d71f839dc907ff ("iotest 065: explicit compression type") Signed-off-by: Hanna Reitz --- tests/qemu-iotests/065 | 11 -

[PATCH 2/2] iotests/303: Check for zstd support

2022-02-21 Thread Hanna Reitz
excessive, given that this test is not in auto and thus likely only run by developers who have zstd support compiled in.) Fixes: 677e0bae686e7c670a71d1f ("iotest 303: explicit compression type") Signed-off-by: Hanna Reitz --- tests/qemu-iotests/303 | 15 +++ 1 file changed, 11

[PATCH 0/2] iotests: Check for zstd support

2022-02-21 Thread Hanna Reitz
to not be supported. Hanna Reitz (2): iotests/065: Check for zstd support iotests/303: Check for zstd support tests/qemu-iotests/065 | 11 --- tests/qemu-iotests/303 | 15 +++ 2 files changed, 19 insertions(+), 7 deletions(-) -- 2.34.1

[PATCH] iotests: Write test output to TEST_DIR

2022-02-21 Thread Hanna Reitz
its usage altogether.) Signed-off-by: Hanna Reitz --- I used to have a draft patch to allow parallel test runs on my private test branch, and since Thomas needs something like this for his "Improve integration of iotests in the meson test harness", he took up the idea and sent such a pat

Re: [PATCH v2] ide: Increment BB in-flight counter for TRIM BH

2022-02-21 Thread Hanna Reitz
On 17.02.22 22:02, John Snow wrote: On Tue, Feb 15, 2022 at 12:14 PM Hanna Reitz wrote: Ping (I can take it too, if you’d like, John, but you’re listed as the only maintainer for hw/ide, so... Just say the word, though!) Sorry, I sent you a mail off-list at the time where I said you were

[PATCH] migration: NULL transport_data after freeing

2022-02-17 Thread Hanna Reitz
by migration/socket.c, where socket_start_incoming_migration_internal() sets both it and transport_data to non-NULL values.) Signed-off-by: Hanna Reitz --- migration/migration.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/migration/migration.c b/migration/migration.c

Re: [PATCH 1/4] python/utils: add enboxify() text decoration utility

2022-02-16 Thread Hanna Reitz
On 16.02.22 17:16, John Snow wrote: On Tue, Feb 15, 2022, 6:57 PM Philippe Mathieu-Daudé wrote: On 16/2/22 00:53, John Snow wrote: > On Tue, Feb 15, 2022 at 5:55 PM Eric Blake wrote: >> >> On Tue, Feb 15, 2022 at 05:08:50PM -0500, John Snow wrote: >>

[PATCH v2 3/3] iotests/graph-changes-while-io: New test

2022-02-16 Thread Hanna Reitz
needs to ensure that I/O requests to a node are paused while that node's BlockLimits are refreshed. Signed-off-by: Hanna Reitz Reviewed-by: Eric Blake --- .../qemu-iotests/tests/graph-changes-while-io | 91 +++ .../tests/graph-changes-while-io.out | 5 + 2 files

[PATCH v2 0/3] block: Make bdrv_refresh_limits() non-recursive

2022-02-16 Thread Hanna Reitz
is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/3:[] [--] 'block: Make bdrv_refresh_limits() non-recursive' 002/3:[0005] [FC] 'iotests: Allow using QMP with the QSD' 003/3:[] [--] 'iotests/graph-changes-while-io: New test' Hanna Reitz

[PATCH v2 2/3] iotests: Allow using QMP with the QSD

2022-02-16 Thread Hanna Reitz
Add a parameter to optionally open a QMP connection when creating a QemuStorageDaemon instance. Signed-off-by: Hanna Reitz --- tests/qemu-iotests/iotests.py | 32 +++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/iotests.py b/tests

[PATCH v2 1/3] block: Make bdrv_refresh_limits() non-recursive

2022-02-16 Thread Hanna Reitz
bdrv_refresh_limits() non-recursive. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1879437 Signed-off-by: Hanna Reitz Reviewed-by: Eric Blake --- block/io.c | 4 1 file changed, 4 deletions(-) diff --git a/block/io.c b/block/io.c index 4e4cb556c5..c3e7301613 100644 --- a/block/io.c +++ b/block

Re: [PATCH 3/3] iotests/graph-changes-while-io: New test

2022-02-16 Thread Hanna Reitz
On 15.02.22 23:22, Eric Blake wrote: On Tue, Feb 15, 2022 at 02:57:27PM +0100, Hanna Reitz wrote: Test the following scenario: 1. Some block node (null-co) attached to a user (here: NBD server) that performs I/O and keeps the node in an I/O thread 2. Repeatedly run blockdev-add/blockdev-del

Re: [PATCH 2/3] iotests: Allow using QMP with the QSD

2022-02-16 Thread Hanna Reitz
On 15.02.22 23:19, Eric Blake wrote: On Tue, Feb 15, 2022 at 02:57:26PM +0100, Hanna Reitz wrote: Add a parameter to optionally open a QMP connection when creating a QemuStorageDaemon instance. Signed-off-by: Hanna Reitz --- tests/qemu-iotests/iotests.py | 29

Re: [PATCH v2] ide: Increment BB in-flight counter for TRIM BH

2022-02-15 Thread Hanna Reitz
Ping (I can take it too, if you’d like, John, but you’re listed as the only maintainer for hw/ide, so...  Just say the word, though!) On 20.01.22 15:22, Hanna Reitz wrote: When we still have an AIOCB registered for DMA operations, we try to settle the respective operation by draining

[PATCH 3/3] iotests/graph-changes-while-io: New test

2022-02-15 Thread Hanna Reitz
needs to ensure that I/O requests to a node are paused while that node's BlockLimits are refreshed. Signed-off-by: Hanna Reitz --- .../qemu-iotests/tests/graph-changes-while-io | 91 +++ .../tests/graph-changes-while-io.out | 5 + 2 files changed, 96 insertions

[PATCH 1/3] block: Make bdrv_refresh_limits() non-recursive

2022-02-15 Thread Hanna Reitz
bdrv_refresh_limits() non-recursive. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1879437 Signed-off-by: Hanna Reitz --- block/io.c | 4 1 file changed, 4 deletions(-) diff --git a/block/io.c b/block/io.c index 4e4cb556c5..c3e7301613 100644 --- a/block/io.c +++ b/block/io.c @@ -189,10 +189,6

[PATCH 0/3] block: Make bdrv_refresh_limits() non-recursive

2022-02-15 Thread Hanna Reitz
four lines of code. Hanna Reitz (3): block: Make bdrv_refresh_limits() non-recursive iotests: Allow using QMP with the QSD iotests/graph-changes-while-io: New test block/io.c| 4 - tests/qemu-iotests/iotests.py | 29 +- .../qemu-iotests

[PATCH 2/3] iotests: Allow using QMP with the QSD

2022-02-15 Thread Hanna Reitz
Add a parameter to optionally open a QMP connection when creating a QemuStorageDaemon instance. Signed-off-by: Hanna Reitz --- tests/qemu-iotests/iotests.py | 29 - 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/iotests.py b/tests

Re: [PATCH 0/4] Make qemu-img dd more flexible

2022-02-11 Thread Hanna Reitz
On 11.02.22 17:31, Eric Blake wrote: On Thu, Feb 10, 2022 at 02:31:19PM +0100, Fabian Ebner wrote: Adds support for reading from stdin and writing to stdout (when raw format is used), as well as overriding the size of the output and input image/stream. Additionally, the options -n for skipping

Re: [PATCH v2 1/8] tests/qemu-iotests/testrunner: Allow parallel test invocations

2022-02-11 Thread Hanna Reitz
On 11.02.22 17:00, Kevin Wolf wrote: Am 11.02.2022 um 14:53 hat Thomas Huth geschrieben: On 11/02/2022 10.29, Kevin Wolf wrote: Am 09.02.2022 um 11:15 hat Thomas Huth geschrieben: If multiple tests run in parallel, they must use unique file names for the test output. Suggested-by: Hanna

Re: [PATCH 1/6] tests/qemu-iotests: Improve the check for GNU sed

2022-02-08 Thread Hanna Reitz
On 08.02.22 13:13, Thomas Huth wrote: On 08/02/2022 12.46, Hanna Reitz wrote: On 08.02.22 11:13, Thomas Huth wrote: Instead of failing the iotests if GNU sed is not available (or skipping them completely in the check-block.sh script), it would be better to simply skip the bash-based tests, so

Re: [PATCH 4/6] tests/qemu-iotests/meson.build: Call the 'check' script directly

2022-02-08 Thread Hanna Reitz
On 08.02.22 11:13, Thomas Huth wrote: We can get a nicer progress indication if we add the iotests individually via the 'check' script instead of going through the check-block.sh wrapper. For this, we have to add some of the sanity checks that have originally been done in the

Re: [PATCH 2/6] tests/qemu-iotests/meson.build: Improve the indentation

2022-02-08 Thread Hanna Reitz
++ 1 file changed, 32 insertions(+), 29 deletions(-) Reviewed-by: Hanna Reitz

Re: [PATCH 1/6] tests/qemu-iotests: Improve the check for GNU sed

2022-02-08 Thread Hanna Reitz
On 08.02.22 11:13, Thomas Huth wrote: Instead of failing the iotests if GNU sed is not available (or skipping them completely in the check-block.sh script), it would be better to simply skip the bash-based tests, so that the python-based tests could still be run. Thus add the check for BusyBox

Re: [PATCH 3/6] tests/qemu-iotests: Allow to run "./check -n" from the source directory, too

2022-02-08 Thread Hanna Reitz
On 08.02.22 11:13, Thomas Huth wrote: For better integration of the iotests into the meson build system, it would be very helpful to get the list of the tests in the "auto" group during the "configure" step already. However, "check -n -g auto" currently only works if the binaries have already

[PATCH] block/vvfat: Fix memleaks in vvfat_close()

2022-02-07 Thread Hanna Reitz
qcow_filename and used_clusters are allocated in enable_write_target(), but freed only in the error path of vvfat_open(). Free them in vvfat_close(), too. Signed-off-by: Hanna Reitz --- block/vvfat.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/block/vvfat.c b/block/vvfat.c index

[PATCH v2 5/7] iotests/281: Test lingering timers

2022-02-04 Thread Hanna Reitz
is precisely the scope of 281. The test case for that other bug will also be put into the test class added here. Also, excuse the test class's name, I couldn't come up with anything better. The "yield" part will make sense two patches from now.) Reviewed-by: Vladimir Sementsov-Ogievskiy Sig

<    1   2   3   4   5   6   7   8   9   10   >