]> git.proxmox.com Git - mirror_qemu.git/commit - block/file-posix.c
file-posix: Clear bs->bl.zoned on error
authorHanna Czenczek <hreitz@redhat.com>
Thu, 24 Aug 2023 15:53:40 +0000 (17:53 +0200)
committerHanna Czenczek <hreitz@redhat.com>
Tue, 29 Aug 2023 08:49:58 +0000 (10:49 +0200)
commit56d1a022a77ea2125564913665eeadf3e303a671
treec43a18f5066cccf6f1129efc54702859bfc907d6
parent3b2337eff03e23ffcc7d6b0a0f72bd3ab2135ae9
file-posix: Clear bs->bl.zoned on error

bs->bl.zoned is what indicates whether the zone information is present
and valid; it is the only thing that raw_refresh_zoned_limits() sets if
CONFIG_BLKZONED is not defined, and it is also the only thing that it
sets if CONFIG_BLKZONED is defined, but there are no zones.

Make sure that it is always set to BLK_Z_NONE if there is an error
anywhere in raw_refresh_zoned_limits() so that we do not accidentally
announce zones while our information is incomplete or invalid.

This also fixes a memory leak in the last error path in
raw_refresh_zoned_limits().

Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Message-Id: <20230824155345.109765-2-hreitz@redhat.com>
Reviewed-by: Sam Li <faithilikerun@gmail.com>
block/file-posix.c