[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 4/7] block/backup: drop handling of max_transfer
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-devel] [PATCH v2 4/7] block/backup: drop handling of max_transfer for copy_range |
Date: |
Fri, 9 Aug 2019 18:32:04 +0300 |
Since previous commit, copy_range supports max_transfer, so we don't
need to handle it by hand.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
block/backup.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/block/backup.c b/block/backup.c
index c6a3b2b7bb..228ba9423c 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -54,7 +54,6 @@ typedef struct BackupBlockJob {
QLIST_HEAD(, CowRequest) inflight_reqs;
bool use_copy_range;
- int64_t copy_range_size;
BdrvRequestFlags write_flags;
bool initializing_bitmap;
@@ -156,12 +155,11 @@ static int coroutine_fn
backup_cow_with_offload(BackupBlockJob *job,
int ret;
int nr_clusters;
BlockBackend *blk = job->common.blk;
- int nbytes;
+ int nbytes = end - start;
int read_flags = is_write_notifier ? BDRV_REQ_NO_SERIALISING : 0;
- assert(QEMU_IS_ALIGNED(job->copy_range_size, job->cluster_size));
+ assert(end - start < INT_MAX);
assert(QEMU_IS_ALIGNED(start, job->cluster_size));
- nbytes = MIN(job->copy_range_size, end - start);
nr_clusters = DIV_ROUND_UP(nbytes, job->cluster_size);
bdrv_reset_dirty_bitmap(job->copy_bitmap, start,
job->cluster_size * nr_clusters);
@@ -756,11 +754,6 @@ BlockJob *backup_job_create(const char *job_id,
BlockDriverState *bs,
job->copy_bitmap = copy_bitmap;
copy_bitmap = NULL;
job->use_copy_range = !compress; /* compression isn't supported for it */
- job->copy_range_size = MIN_NON_ZERO(blk_get_max_transfer(job->common.blk),
- blk_get_max_transfer(job->target));
- job->copy_range_size = MAX(job->cluster_size,
- QEMU_ALIGN_UP(job->copy_range_size,
- job->cluster_size));
/* Required permissions are already taken with target's blk_new() */
block_job_add_bdrv(&job->common, "target", target, 0, BLK_PERM_ALL,
--
2.18.0
- [Qemu-devel] [PATCH v2 5/7] block/backup: fix backup_cow_with_offload for last cluster, (continued)
[Qemu-devel] [PATCH v2 3/7] block/io: handle alignment and max_transfer for copy_range, Vladimir Sementsov-Ogievskiy, 2019/08/09
[Qemu-devel] [PATCH v2 7/7] block/backup: merge duplicated logic into backup_do_cow, Vladimir Sementsov-Ogievskiy, 2019/08/09
[Qemu-devel] [PATCH v2 4/7] block/backup: drop handling of max_transfer for copy_range,
Vladimir Sementsov-Ogievskiy <=
[Qemu-devel] [PATCH v2 2/7] block/backup: refactor write_flags, Vladimir Sementsov-Ogievskiy, 2019/08/09
Re: [Qemu-devel] [PATCH v2 0/7] backup improvements, Vladimir Sementsov-Ogievskiy, 2019/08/09