diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2021-11-16 14:20:39 +0100 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2021-11-16 14:20:39 +0100 |
commit | 871c71b1bad2d2647641500603a2236869135c7f (patch) | |
tree | 586029263f4a30b270dabbf45a5e3989afaea165 /block/stream.c | |
parent | 9f0f846465d4c52ce9857787e947dffb64367fae (diff) | |
parent | 5dbd0ce115c7720268e653fe928bb6a0c1314a80 (diff) |
Merge tag 'pull-block-2021-11-16' of https://gitlab.com/hreitz/qemu into staging
Block patches for 6.2.0-rc1:
- Fixes to image streaming job and block layer reconfiguration to make
iotest 030 pass again
- docs: Deprecate incorrectly typed device_add arguments
- file-posix: Fix alignment after reopen changing O_DIRECT
# gpg: Signature made Tue 16 Nov 2021 01:57:03 PM CET
# gpg: using RSA key CB62D7A0EE3829E45F004D34A1FA40D098019CDF
# gpg: issuer "hreitz@redhat.com"
# gpg: Good signature from "Hanna Reitz <hreitz@redhat.com>" [marginal]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: CB62 D7A0 EE38 29E4 5F00 4D34 A1FA 40D0 9801 9CDF
* tag 'pull-block-2021-11-16' of https://gitlab.com/hreitz/qemu:
file-posix: Fix alignment after reopen changing O_DIRECT
softmmu/qdev-monitor: fix use-after-free in qdev_set_id()
docs: Deprecate incorrectly typed device_add arguments
iotests/030: Unthrottle parallel jobs in reverse
block: Let replace_child_noperm free children
block: Let replace_child_tran keep indirect pointer
transactions: Invoke clean() after everything else
block: Restructure remove_file_or_backing_child()
block: Pass BdrvChild ** to replace_child_noperm
block: Drop detached child from ignore list
block: Unite remove_empty_child and child_free
block: Manipulate children list in .attach/.detach
stream: Traverse graph after modification
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'block/stream.c')
-rw-r--r-- | block/stream.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/block/stream.c b/block/stream.c index 97bee482dc..e45113aed6 100644 --- a/block/stream.c +++ b/block/stream.c @@ -54,8 +54,8 @@ static int stream_prepare(Job *job) { StreamBlockJob *s = container_of(job, StreamBlockJob, common.job); BlockDriverState *unfiltered_bs = bdrv_skip_filters(s->target_bs); - BlockDriverState *base = bdrv_filter_or_cow_bs(s->above_base); - BlockDriverState *unfiltered_base = bdrv_skip_filters(base); + BlockDriverState *base; + BlockDriverState *unfiltered_base; Error *local_err = NULL; int ret = 0; @@ -63,6 +63,9 @@ static int stream_prepare(Job *job) bdrv_cor_filter_drop(s->cor_filter_bs); s->cor_filter_bs = NULL; + base = bdrv_filter_or_cow_bs(s->above_base); + unfiltered_base = bdrv_skip_filters(base); + if (bdrv_cow_child(unfiltered_bs)) { const char *base_id = NULL, *base_fmt = NULL; if (unfiltered_base) { |