Message ID | 20200528225516.1676602-1-rvkagan@yandex-team.ru (mailing list archive) |
---|---|
Headers | show |
Series | block: enhance handling of size-related BlockConf properties | expand |
On Fri, May 29, 2020 at 01:55:08AM +0300, Roman Kagan wrote: > BlockConf includes several properties counted in bytes. > > Enhance their handling in some aspects, specifically > > - accept common size suffixes (k, m) > - perform consistency checks on the values > - lift the upper limit on physical_block_size and logical_block_size > > Also fix the accessor for opt_io_size in virtio-blk to make it consistent with > the size of the field. > > History: > v7 -> v8: > - replace stringify with %u in error messages [Eric] > - fix wording in logs [Eric] > > v6 -> v7: > - avoid overflow in min_io_size check [Eric] > - try again to perform the art form in patch splitting [Eric] > > v5 -> v6: > - fix forgotten xen-block and swim > - add prop_size32 instead of going with 64bit > > v4 -> v5: > - re-split the patches [Philippe] > - fix/reword error messages [Philippe, Kevin] > - do early return on failed consistency check [Philippe] > - use QEMU_IS_ALIGNED instead of open coding [Philippe] > - make all BlockConf size props support suffixes > - expand the log for virtio-blk opt_io_size [Michael] > > v3 -> v4: > - add patch to fix opt_io_size width in virtio-blk > - add patch to perform consistency checks [Kevin] > - check min_io_size against truncation [Kevin] > > v2 -> v3: > - mention qcow2 cluster size limit in the log and comment [Eric] > > v1 -> v2: > - cap the property at 2 MiB [Eric] > - accept size suffixes > > Roman Kagan (8): > virtio-blk: store opt_io_size with correct size > block: consolidate blocksize properties consistency checks > qdev-properties: blocksize: use same limits in code and description > qdev-properties: add size32 property type > qdev-properties: make blocksize accept size suffixes > block: make BlockConf size props 32bit and accept size suffixes > qdev-properties: add getter for size32 and blocksize > block: lift blocksize property limit to 2 MiB > > include/hw/block/block.h | 14 +- > include/hw/qdev-properties.h | 5 +- > hw/block/block.c | 40 ++- > hw/block/fdc.c | 5 +- > hw/block/nvme.c | 5 +- > hw/block/swim.c | 5 +- > hw/block/virtio-blk.c | 9 +- > hw/block/xen-block.c | 6 +- > hw/core/qdev-properties.c | 85 +++++- > hw/ide/qdev.c | 5 +- > hw/scsi/scsi-disk.c | 12 +- > hw/usb/dev-storage.c | 5 +- > tests/qemu-iotests/172.out | 532 +++++++++++++++++------------------ > 13 files changed, 419 insertions(+), 309 deletions(-) Ping?
Am 29.05.2020 um 00:55 hat Roman Kagan geschrieben: > BlockConf includes several properties counted in bytes. > > Enhance their handling in some aspects, specifically > > - accept common size suffixes (k, m) > - perform consistency checks on the values > - lift the upper limit on physical_block_size and logical_block_size > > Also fix the accessor for opt_io_size in virtio-blk to make it consistent with > the size of the field. Thanks, applied to the block branch. Kevin