On 02/20/2016 10:39 AM, Max Reitz wrote: > Currently, we do not define exactly what is returned when read, but > having a reliable source of zeros is always nice. > > Signed-off-by: Max Reitz <mre...@redhat.com> > --- > block/null.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/block/null.c b/block/null.c > index d90165d..ad883d9 100644 > --- a/block/null.c > +++ b/block/null.c > @@ -90,6 +90,7 @@ static coroutine_fn int null_co_readv(BlockDriverState *bs, > int64_t sector_num, int nb_sectors, > QEMUIOVector *qiov) > { > + qemu_iovec_memset(qiov, 0, 0, nb_sectors * BDRV_SECTOR_SIZE); > return null_co_common(bs); > }
Shouldn't this be made optional? That is, one of the points of null-co was to be as fast as possible, and the memset will slow us down. So having an optional bool as part of the null-co setup, which defaults off for back-compat but can be turned on for guaranteed all-zero reads, sounds like it would be nicer than forcing all-zero reads. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature