On 04/24/2018 12:19 PM, Kevin Wolf wrote:
>>>> +static void null_refresh_limits(BlockDriverState *bs, Error **errp)
>>>> +{
>>>> + bs->bl.request_alignment = 1;
>>>> +}
>>>
>>> I would rather modify bdrv_refresh_limits() so that it defaults to 1 for
>>> drivers supporting either .bdrv_co_preadv or .bdrv_aio_preadv.
>>
>> Sure, I can do that (although then I may have to provide a
>> refresh_limits callback for each of the other drivers that I
>> specifically left at 512 alignment).
>
> Do we know that the other drivers need 512, or do we expect than they
> can handle byte granularity, but we try to err on the safe side?Done to err on the safe side and avoid the difficulty of a deep audit in code I'm unfamiliar with; in fact, for vxhs, I wasn't even able to compile test things, which means I certainly wasn't able to reproduce a test to see if dropping the alignment would break anything under qemu-io. > > If it's the latter (which would be my expectation), then it's probably > better to set request_alignment = 512 with a comment in those drivers > and hope that someone will lift the restriction in the future. Indeed, leaving a good comment for a future reader is worth the effort. I'll send a v2 later today. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
