summaryrefslogtreecommitdiffstats
path: root/include/hw/block
diff options
context:
space:
mode:
authorRoman Kagan2020-05-29 00:55:10 +0200
committerKevin Wolf2020-06-17 14:53:40 +0200
commitc56ee92fcba8cc922b1b2188ac20614d20223db2 (patch)
tree5790ad5e71f651f85db76f612e39d2270b6510c3 /include/hw/block
parentvirtio-blk: store opt_io_size with correct size (diff)
downloadqemu-c56ee92fcba8cc922b1b2188ac20614d20223db2.tar.gz
qemu-c56ee92fcba8cc922b1b2188ac20614d20223db2.tar.xz
qemu-c56ee92fcba8cc922b1b2188ac20614d20223db2.zip
block: consolidate blocksize properties consistency checks
Several block device properties related to blocksize configuration must be in certain relationship WRT each other: physical block must be no smaller than logical block; min_io_size, opt_io_size, and discard_granularity must be a multiple of a logical block. To ensure these requirements are met, add corresponding consistency checks to blkconf_blocksizes, adjusting its signature to communicate possible error to the caller. Also remove the now redundant consistency checks from the specific devices. Signed-off-by: Roman Kagan <rvkagan@yandex-team.ru> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Paul Durrant <paul@xen.org> Message-Id: <20200528225516.1676602-3-rvkagan@yandex-team.ru> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'include/hw/block')
-rw-r--r--include/hw/block/block.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/hw/block/block.h b/include/hw/block/block.h
index d7246f3862..784953a237 100644
--- a/include/hw/block/block.h
+++ b/include/hw/block/block.h
@@ -87,7 +87,7 @@ bool blk_check_size_and_read_all(BlockBackend *blk, void *buf, hwaddr size,
bool blkconf_geometry(BlockConf *conf, int *trans,
unsigned cyls_max, unsigned heads_max, unsigned secs_max,
Error **errp);
-void blkconf_blocksizes(BlockConf *conf);
+bool blkconf_blocksizes(BlockConf *conf, Error **errp);
bool blkconf_apply_backend_options(BlockConf *conf, bool readonly,
bool resizable, Error **errp);