On 06.03.20 08:38, Vladimir Sementsov-Ogievskiy wrote: > In block_copy_do_copy we fallback to read+write if copy_range failed. > In this case copy_size is larger than defined for buffered IO, and > there is corresponding commit. Still, backup copies data cluster by > cluster, and most of requests are limited to one cluster anyway, so the > only source of this one bad-limited request is copy-before-write > operation. > > Further patch will move backup to use block_copy directly, than for > cases where copy_range is not supported, first request will be > oversized in each backup. It's not good, let's change it now. > > Fix is simple: just limit first copy_range request like buffer-based > request. If it succeed, set larger copy_range limit. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]> > Reviewed-by: Andrey Shinkevich <[email protected]> > --- > block/block-copy.c | 41 +++++++++++++++++++++++++++++++---------- > 1 file changed, 31 insertions(+), 10 deletions(-)
Reviewed-by: Max Reitz <[email protected]>
signature.asc
Description: OpenPGP digital signature
