[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 3/6] null: Switch to byte-based read/write
From: |
Eric Blake |
Subject: |
Re: [Qemu-block] [PATCH 3/6] null: Switch to byte-based read/write |
Date: |
Tue, 24 Apr 2018 12:00:25 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 04/24/2018 10:52 AM, Kevin Wolf wrote:
> Am 15.02.2018 um 20:28 hat Eric Blake geschrieben:
>> We are gradually moving away from sector-based interfaces, towards
>> byte-based. Make the change for the last few sector-based callbacks
>> in the null-co and null-aio drivers.
>>
>> Note that since the null driver does nothing on writes, it trivially
>> supports the BDRV_REQ_FUA flag (all writes have already landed to
>> the same bit-bucket without needing an extra flush call). Furthermore,
>> bdrv_refresh_limits() defaults the block size to 512 for any driver
>> that does not support coroutines; while this is still correct for the
>> other aio-based drivers, the null driver does just as well with
>> byte-based requests, and being explicit means we can avoid cycles
>> wasted on read-modify-write.
>>
>> Signed-off-by: Eric Blake <address@hidden>
>
>> +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).
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature