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 <[email protected]> > >> +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
