mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-28 20:41:52 -06:00
block migration: Skip zero-sized disks
No need to migrate emptiness (risking divide by zero later on). Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
23bd90d2f9
commit
792773b225
1 changed files with 8 additions and 2 deletions
|
@ -222,6 +222,7 @@ static void init_blk_migration(Monitor *mon, QEMUFile *f)
|
||||||
{
|
{
|
||||||
BlkMigDevState *bmds;
|
BlkMigDevState *bmds;
|
||||||
BlockDriverState *bs;
|
BlockDriverState *bs;
|
||||||
|
int64_t sectors;
|
||||||
|
|
||||||
block_mig_state.submitted = 0;
|
block_mig_state.submitted = 0;
|
||||||
block_mig_state.read_done = 0;
|
block_mig_state.read_done = 0;
|
||||||
|
@ -231,14 +232,19 @@ static void init_blk_migration(Monitor *mon, QEMUFile *f)
|
||||||
|
|
||||||
for (bs = bdrv_first; bs != NULL; bs = bs->next) {
|
for (bs = bdrv_first; bs != NULL; bs = bs->next) {
|
||||||
if (bs->type == BDRV_TYPE_HD) {
|
if (bs->type == BDRV_TYPE_HD) {
|
||||||
|
sectors = bdrv_getlength(bs) >> BDRV_SECTOR_BITS;
|
||||||
|
if (sectors == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
bmds = qemu_mallocz(sizeof(BlkMigDevState));
|
bmds = qemu_mallocz(sizeof(BlkMigDevState));
|
||||||
bmds->bs = bs;
|
bmds->bs = bs;
|
||||||
bmds->bulk_completed = 0;
|
bmds->bulk_completed = 0;
|
||||||
bmds->total_sectors = bdrv_getlength(bs) >> BDRV_SECTOR_BITS;
|
bmds->total_sectors = sectors;
|
||||||
bmds->completed_sectors = 0;
|
bmds->completed_sectors = 0;
|
||||||
bmds->shared_base = block_mig_state.shared_base;
|
bmds->shared_base = block_mig_state.shared_base;
|
||||||
|
|
||||||
block_mig_state.total_sector_sum += bmds->total_sectors;
|
block_mig_state.total_sector_sum += sectors;
|
||||||
|
|
||||||
if (bmds->shared_base) {
|
if (bmds->shared_base) {
|
||||||
monitor_printf(mon, "Start migration for %s with shared base "
|
monitor_printf(mon, "Start migration for %s with shared base "
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue