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 <ebl...@redhat.com>
> +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. Kevin