|
@@ -3759,8 +3759,13 @@ static int img_rebase(int argc, char **argv)
|
|
|
int64_t n;
|
|
|
float local_progress = 0;
|
|
|
|
|
|
- buf_old = blk_blockalign(blk, IO_BUF_SIZE);
|
|
|
- buf_new = blk_blockalign(blk, IO_BUF_SIZE);
|
|
|
+ if (blk_old_backing && bdrv_opt_mem_align(blk_bs(blk_old_backing)) >
|
|
|
+ bdrv_opt_mem_align(blk_bs(blk))) {
|
|
|
+ buf_old = blk_blockalign(blk_old_backing, IO_BUF_SIZE);
|
|
|
+ } else {
|
|
|
+ buf_old = blk_blockalign(blk, IO_BUF_SIZE);
|
|
|
+ }
|
|
|
+ buf_new = blk_blockalign(blk_new_backing, IO_BUF_SIZE);
|
|
|
|
|
|
size = blk_getlength(blk);
|
|
|
if (size < 0) {
|