On Mon, 07/09 19:37, Vladimir Sementsov-Ogievskiy wrote: > Here two things are fixed: > > 1. Architecture > > On each recursion step, we go to the child of src or dst, only for one > of them. So, it's wrong to create tracked requests for both on each > step. It leads to tracked requests duplication. > > 2. Wait for serializing requests on write path independently of > BDRV_REQ_NO_SERIALISING > > Before commit 9ded4a01149 "backup: Use copy offloading", > BDRV_REQ_NO_SERIALISING was used for only one case: read in > copy-on-write operation during backup. Also, the flag was handled only > on read path (in bdrv_co_preadv and bdrv_aligned_preadv). > > After 9ded4a01149, flag is used for not waiting serializing operations > on backup target (in same case of copy-on-write operation). This > behavior change is unsubstantiated and potentially dangerous, let's > drop it and add additional asserts and documentation. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>
Reviewed-by: Fam Zheng <f...@redhat.com>