[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 6/8] block: make BlockConf size props 32bit and accept siz
From: |
Eric Blake |
Subject: |
Re: [PATCH v7 6/8] block: make BlockConf size props 32bit and accept size suffixes |
Date: |
Thu, 28 May 2020 16:53:14 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 |
On 5/28/20 4:39 PM, Roman Kagan wrote:
Convert all size-related properties in BlockConf to 32bit. This will
allow to accomodate bigger block sizes (in a followup patch).
s/allow to accomodate/accommodate/
This also allows to make them all accept size suffixes, either via
DEFINE_PROP_BLOCKSIZE or via DEFINE_PROP_SIZE32.
Also, since min_io_size is exposed to the guest by scsi and virtio-blk
devices as an uint16_t in units of logical blocks, introduce an
additional check in blkconf_blocksizes to prevent its silent truncation.
Signed-off-by: Roman Kagan <rvkagan@yandex-team.ru>
---
+ if (conf->min_io_size / conf->logical_block_size > UINT16_MAX) {
+ error_setg(errp,
+ "min_io_size must not exceed " stringify(UINT16_MAX)
+ " logical blocks");
On my libc, this results in "must not exceed (65535) logical blocks".
Worse, I could envision a platform where it prints something funky like:
"exceed (2 * (32768) + 1) logical", based on however complex the
definition of UINT16_MAX is. You're better off printing this one with
%d than with stringify().
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
- [PATCH v7 0/8] block: enhance handling of size-related BlockConf properties, Roman Kagan, 2020/05/28
- [PATCH v7 1/8] virtio-blk: store opt_io_size with correct size, Roman Kagan, 2020/05/28
- [PATCH v7 2/8] block: consolidate blocksize properties consistency checks, Roman Kagan, 2020/05/28
- [PATCH v7 3/8] qdev-properties: blocksize: use same limits in code and description, Roman Kagan, 2020/05/28
- [PATCH v7 4/8] qdev-properties: add size32 property type, Roman Kagan, 2020/05/28
- [PATCH v7 5/8] qdev-properties: make blocksize accept size suffixes, Roman Kagan, 2020/05/28
- [PATCH v7 6/8] block: make BlockConf size props 32bit and accept size suffixes, Roman Kagan, 2020/05/28
- Re: [PATCH v7 6/8] block: make BlockConf size props 32bit and accept size suffixes,
Eric Blake <=
- [PATCH v7 7/8] qdev-properties: add getter for size32 and blocksize, Roman Kagan, 2020/05/28
- [PATCH v7 8/8] block: lift blocksize property limit to 2 MiB, Roman Kagan, 2020/05/28