diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2021-08-04 09:27:24 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2021-08-04 09:27:24 +0100 |
| commit | ef6607edf005dc5e52f60e7e1beea49bf2d48a00 (patch) | |
| tree | 9513c13896e9d60243c3527d0a269656062aa95a | |
| parent | cb2f4b8750b7e1c954570d19b104d4fdbeb8739a (diff) | |
| parent | 87ab88025247b893aad5071fd38301b67be76d1a (diff) | |
| download | focaccia-qemu-ef6607edf005dc5e52f60e7e1beea49bf2d48a00.tar.gz focaccia-qemu-ef6607edf005dc5e52f60e7e1beea49bf2d48a00.zip | |
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches - Fix hang after request padding error (Windows + 512-on-4k emulation) # gpg: Signature made Tue 03 Aug 2021 15:40:10 BST # gpg: using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6 # gpg: issuer "kwolf@redhat.com" # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full] # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6 * remotes/kevin/tags/for-upstream: block: Fix in_flight leak in request padding error path Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to '')
| -rw-r--r-- | block/io.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/block/io.c b/block/io.c index e0a689c584..a19942718b 100644 --- a/block/io.c +++ b/block/io.c @@ -1841,7 +1841,7 @@ int coroutine_fn bdrv_co_preadv_part(BdrvChild *child, ret = bdrv_pad_request(bs, &qiov, &qiov_offset, &offset, &bytes, &pad, NULL); if (ret < 0) { - return ret; + goto fail; } tracked_request_begin(&req, bs, offset, bytes, BDRV_TRACKED_READ); @@ -1849,10 +1849,11 @@ int coroutine_fn bdrv_co_preadv_part(BdrvChild *child, bs->bl.request_alignment, qiov, qiov_offset, flags); tracked_request_end(&req); - bdrv_dec_in_flight(bs); - bdrv_padding_destroy(&pad); +fail: + bdrv_dec_in_flight(bs); + return ret; } |