Revision ceb2bd09 block-migration.c

b/block-migration.c
429 429
    return 0;
430 430
}
431 431

  
432
/* return value:
433
 * 0: too much data for max_downtime
434
 * 1: few enough data for max_downtime
435
*/
432 436
static int blk_mig_save_dirty_block(QEMUFile *f, int is_async)
433 437
{
434 438
    BlkMigDevState *bmds;
435
    int ret = 0;
439
    int ret = 1;
436 440

  
437 441
    QSIMPLEQ_FOREACH(bmds, &block_mig_state.bmds_list, entry) {
438
        if (mig_save_device_dirty(f, bmds, is_async) == 0) {
439
            ret = 1;
442
        ret = mig_save_device_dirty(f, bmds, is_async);
443
        if (ret == 0) {
440 444
            break;
441 445
        }
442 446
    }
......
596 600
                block_mig_state.bulk_completed = 1;
597 601
            }
598 602
        } else {
599
            if (blk_mig_save_dirty_block(f, 1) == 0) {
603
            if (blk_mig_save_dirty_block(f, 1) != 0) {
600 604
                /* no more dirty blocks */
601 605
                break;
602 606
            }
......
633 637
       all async read completed */
634 638
    assert(block_mig_state.submitted == 0);
635 639

  
636
    while (blk_mig_save_dirty_block(f, 0) != 0) {
640
    while (blk_mig_save_dirty_block(f, 0) == 0) {
637 641
        /* Do nothing */
638 642
    }
639 643
    blk_mig_cleanup();

Also available in: Unified diff