aboutsummaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorHanna Czenczek <hreitz@redhat.com>2023-08-24 17:53:42 +0200
committerHanna Czenczek <hreitz@redhat.com>2023-08-29 10:50:49 +0200
commitdeab5c9a4ed74f76a713008a42527762b30a7e84 (patch)
tree1c61ff29352258f7fc96976b4d5e01a4eca2c775 /block
parent4b5d80f3d02096a9bb1f651f6b3401ba40877159 (diff)
downloadqemu-deab5c9a4ed74f76a713008a42527762b30a7e84.zip
qemu-deab5c9a4ed74f76a713008a42527762b30a7e84.tar.gz
qemu-deab5c9a4ed74f76a713008a42527762b30a7e84.tar.bz2
file-posix: Fix zone update in I/O error path
We must check that zone information is present before running update_zones_wp(). Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2234374 Fixes: Coverity CID 1512459 Signed-off-by: Hanna Czenczek <hreitz@redhat.com> Message-Id: <20230824155345.109765-4-hreitz@redhat.com> Reviewed-by: Sam Li <faithilikerun@gmail.com>
Diffstat (limited to 'block')
-rw-r--r--block/file-posix.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/block/file-posix.c b/block/file-posix.c
index 46e2240..a050682 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -2525,7 +2525,8 @@ out:
}
}
} else {
- if (type & (QEMU_AIO_WRITE | QEMU_AIO_ZONE_APPEND)) {
+ if ((type & (QEMU_AIO_WRITE | QEMU_AIO_ZONE_APPEND)) &&
+ bs->bl.zoned != BLK_Z_NONE) {
update_zones_wp(bs, s->fd, 0, 1);
}
}