-
Vladimir Sementsov-Ogievskiy authored
Currently, block_copy operation lock the whole requested region. But there is no reason to lock clusters, which are already copied, it will disturb other parallel block_copy requests for no reason. Let's instead do the following: Lock only sub-region, which we are going to operate on. Then, after copying all dirty sub-regions, we should wait for intersecting requests block-copy, if they failed, we should retry these new dirty clusters. Signed-off-by:
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by:
Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Message-Id: <20200311103004.7649-9-vsementsov@virtuozzo.com>
Signed-off-by:
Max Reitz <mreitz@redhat.com>Vladimir Sementsov-Ogievskiy authoredCurrently, block_copy operation lock the whole requested region. But there is no reason to lock clusters, which are already copied, it will disturb other parallel block_copy requests for no reason. Let's instead do the following: Lock only sub-region, which we are going to operate on. Then, after copying all dirty sub-regions, we should wait for intersecting requests block-copy, if they failed, we should retry these new dirty clusters. Signed-off-by:
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by:
Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Message-Id: <20200311103004.7649-9-vsementsov@virtuozzo.com>
Signed-off-by:
Max Reitz <mreitz@redhat.com>
Loading