From: Lidong Chen
when block migration with high-speed, mig_save_device_bulk hold the
BQL and invoke bdrv_is_allocated frequently. This patch moves
bdrv_is_allocated() into bb's AioContext. It will execute without
blocking other I/O activity.
Signed-off-by: Lidong Chen
---
v4 changelog:
From: Lidong Chen
When the buffer is zero, blk_co_pwrite_zeroes is more effective than
blk_co_pwritev with BDRV_REQ_WRITE_COMPRESSED. This patch can reduce
the time for converting qcow2 images with lots of zero data.
Signed-off-by: Lidong Chen
---
v3 changelog:
fix some spelling error
From: Lidong Chen
This patch optimizes the performance by coalescing the same write type.
When the zero/non-zero state changes, perform the write for the accumulated
cluster count.
Signed-off-by: Lidong Chen
---
Thanks Fam Zheng and Stefan's advice.
---
migration/block.c | 66 +
From: Lidong Chen
Fix some spelling errors in is_allocated_sectors comment.
Signed-off-by: Lidong Chen
---
qemu-img.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index df6d165..0b3349c 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -1033,8 +1033
From: Lidong Chen
is_allocated_sectors_min don't guarantee to contain the
consecutive number of zero bytes. this patch fixes this bug.
Signed-off-by: Lidong Chen
---
qemu-img.c | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index b220cf7
From: Lidong Chen
when the buffer is zero, blk_co_pwrite_zeroes is more effectively than
blk_co_pwritev with BDRV_REQ_WRITE_COMPRESSED. this patch can reduces
the time when converts the qcow2 image with lots of zero.
Signed-off-by: Lidong Chen
---
v2 changelog:
unify the compressed and non-
From: Lidong Chen
When use old style option like -o backing_file, img_convert
continue run when bs_n > 1, this patch fix this bug.
Signed-off-by: Lidong Chen
---
v2 changelog:
avoid duplicating code.
---
qemu-img.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff
From: Lidong Chen
when the buffer is zero, blk_co_pwrite_zeroes is more effectively than
blk_co_pwritev with BDRV_REQ_WRITE_COMPRESSED. this patch can reduces
the time when converts the qcow2 image with lots of zero.
Signed-off-by: Lidong Chen
---
qemu-img.c | 19 +--
1 file ch
From: Lidong Chen
When use old style option like -o backing_file, img_convert
continue run when bs_n > 1, this patch fix this bug.
Signed-off-by: Lidong Chen
---
qemu-img.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/qemu-img.c b/qemu-img.c
index b220cf7..c673aef 100644
--- a/qe
From: Lidong Chen
BLOCK_SIZE is (1 << 20), qcow2 cluster size is 65536 by default,
this may cause the qcow2 file size to be bigger after migration.
This patch checks each cluster, using blk_pwrite_zeroes for each
zero cluster.
Reviewed-by: Stefan Hajnoczi
Signed-off-by: Lidong Chen
---
v6 chan
From: Lidong Chen
BLOCK_SIZE is (1 << 20), qcow2 cluster size is 65536 by default,
this maybe cause the qcow2 file size is bigger after migration.
This patch check each cluster, use blk_pwrite_zeroes for each
zero cluster.
Signed-off-by: Lidong Chen
---
migration/block.c | 35 +
From: Lidong Chen
BLOCK_SIZE is (1 << 20), qcow2 cluster size is 65536 by default,
this maybe cause the qcow2 file size is bigger after migration.
This patch check each cluster, use blk_pwrite_zeroes for each
zero cluster.
Signed-off-by: Lidong Chen
---
migration/block.c | 33 +
From: Lidong Chen
BLOCK_SIZE is (1 << 20), qcow2 cluster size is 65536 by default,
this maybe cause the qcow2 file size is bigger after migration.
This patch check each cluster, use blk_pwrite_zeroes for each
zero cluster.
Signed-off-by: Lidong Chen
---
migration/block.c | 38 +
From: Lidong Chen
BLOCK_SIZE is (1 << 20), qcow2 cluster size is 65536 by default,
this maybe cause the qcow2 file size is bigger after migration.
This patch check each cluster, use blk_pwrite_zeroes for each
zero cluster.
Signed-off-by: Lidong Chen
---
migration/block.c | 37 +
From: Lidong Chen
BLOCK_SIZE is (1 << 20), qcow2 cluster size is 65536 by default,
this maybe cause the qcow2 file size is bigger after migration.
This patch check each cluster, use blk_pwrite_zeroes for each
zero cluster.
Signed-off-by: Lidong Chen
---
migration/block.c | 34 +
From: Lidong Chen
The bdrv_get_cluster_size function is need by block migration
to optimize zero cluster.
Signed-off-by: Lidong Chen
---
block/io.c| 2 +-
include/block/block.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/block/io.c b/block/io.c
index 2709a7
From: Lidong Chen
BLOCK_SIZE is (1 << 20), qcow2 cluster size is 65536 by default,
this maybe cause the qcow2 file size is bigger after migration.
This patch check each cluster, use blk_pwrite_zeroes for each
zero cluster.
Lidong Chen (2):
block: make bdrv_get_cluster_size public
migration/b
From: Lidong Chen
when migration with high speed, mig_save_device_bulk invoke
bdrv_is_allocated too frequently, and cause vnc reponse slowly.
this patch limit the time used for bdrv_is_allocated.
Signed-off-by: Lidong Chen
---
migration/block.c | 35 ++-
1 file
From: Lidong Chen
when migration with quick speed, mig_save_device_bulk invoke
bdrv_is_allocated too frequently, and cause vnc reponse slowly.
this patch limit the time used for bdrv_is_allocated.
Signed-off-by: Lidong Chen
---
migration/block.c | 38 ++
1 f
From: Lidong Chen
Increase bmds->cur_dirty after submit io, so reduce the frequency involve into
blk_drain, and improve the performance obviously when block migration.
Signed-off-by: Lidong Chen
---
migration/block.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/migration/block.c b/mi
20 matches
Mail list logo