Go to file
Vladimir Sementsov-Ogievskiy 04636dc410 migration/block: fix pending() return value
Because of wrong return value of .save_live_pending() in
migration/block.c, migration finishes before the whole disk is
transferred. Such situation occurs when the migration process is fast
enough, for example when source and dest are on the same host.

If in the bulk phase we return something < max_size, we will skip
transferring the tail of the device. Currently we have "set pending to
BLOCK_SIZE if it is zero" for bulk phase, but there no guarantee, that
it will be < max_size.

True approach is to return, for example, max_size+1 when we are in the
bulk phase.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@parallels.com>
Message-id: 1419933856-4018-2-git-send-email-vsementsov@parallels.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-01-13 11:47:56 +00:00
audio audio: Don't free hw resources until after hw backend is stopped 2014-12-22 23:12:25 +00:00
backends Drop superfluous conditionals around g_strdup() 2014-12-10 11:30:55 +03:00
block qmp: Add command 'blockdev-backup' 2015-01-13 11:47:56 +00:00
bsd-user bsd-user: Fix syscall format, add strace support for more syscalls 2014-06-11 00:25:06 +01:00
default-configs s390: Add PCI bus support 2015-01-12 10:14:04 +01:00
disas disas/mips: disable unused mips16_to_32_reg_map[] 2014-12-16 12:45:20 +00:00
docs pci: move REDHAT_SDHCI device ID to make room for Rocker 2015-01-03 09:22:13 +01:00
dtc@bc895d6d09 dtc: add submodule 2013-04-18 13:50:53 +02:00
fpu softfloat: add functions corresponding to IEEE-2008 min/maxNumMag 2014-10-14 13:28:51 +01:00
fsdev virtfs-proxy-helper: fix call to accept 2014-04-28 08:55:32 +04:00
gdb-xml s390x/gdb: add the feature xml files for s390x 2014-09-01 09:45:19 +02:00
hw -----BEGIN PGP SIGNATURE----- 2015-01-12 11:13:24 +00:00
include block: fix spoiling all dirty bitmaps by mirror and migration 2015-01-13 11:47:56 +00:00
libcacard libcacard: fix resource leak 2014-11-14 12:15:40 +01:00
libdecnumber libdecnumber: Fix warnings from smatch (missing static, boolean operations) 2014-08-24 13:21:06 +04:00
linux-headers linux-headers: update to 3.18-rc5 2014-11-18 11:24:31 +00:00
linux-user linux-user: Use the 5KEf processor for 64-bit emulation 2014-12-16 12:45:20 +00:00
migration migration/block: fix pending() return value 2015-01-13 11:47:56 +00:00
net net: Use g_new() & friends where that makes obvious sense 2014-12-19 13:17:02 +00:00
pc-bios pseries: Update SLOF firmware image to 20141202 2015-01-07 16:16:27 +01:00
pixman@87eea99e44 pixman: update internal copy to pixman-0.32.6 2014-09-15 08:14:19 +02:00
po po: fix conflict with %.mo rule in rules.mak 2014-09-26 13:35:08 +02:00
qapi qmp: Add command 'blockdev-backup' 2015-01-13 11:47:56 +00:00
qga qga: fix false negative argument passing 2014-11-17 11:41:25 +01:00
qobject qjson: Drop trailing space for pretty formatting 2014-12-10 10:25:30 +01:00
qom cpu: initialize cpu->exception_index on reset 2014-12-20 20:38:07 +00:00
roms pseries: Update SLOF firmware image to 20141202 2015-01-07 16:16:27 +01:00
scripts checkpatch: Brace handling on multi-line condition 2015-01-13 11:47:56 +00:00
slirp slirp: udp: fix NULL pointer dereference because of uninitialized socket 2014-09-23 19:15:05 +01:00
stubs block: Code motion to get rid of stubs/blockdev.c 2014-10-20 13:41:26 +02:00
sysconfigs/target Eliminate cpus-x86_64.conf file 2012-09-21 15:12:58 +02:00
target-alpha gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-arm kvm: extend kvm_irqchip_add_msi_route to work on s390 2015-01-12 10:14:04 +01:00
target-cris gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-i386 kvm: extend kvm_irqchip_add_msi_route to work on s390 2015-01-12 10:14:04 +01:00
target-lm32 gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-m68k gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-microblaze gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-mips kvm: extend kvm_irqchip_add_msi_route to work on s390 2015-01-12 10:14:04 +01:00
target-moxie gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-openrisc gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-ppc kvm: extend kvm_irqchip_add_msi_route to work on s390 2015-01-12 10:14:04 +01:00
target-s390x kvm: extend kvm_irqchip_add_msi_route to work on s390 2015-01-12 10:14:04 +01:00
target-sh4 gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-sparc gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-tricore More migration fixes and more record/replay preparations. Also moves 2015-01-09 16:29:36 +00:00
target-unicore32 gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
target-xtensa gen-icount: check cflags instead of use_icount global 2015-01-03 09:22:12 +01:00
tcg tcg: add separate monitor command to dump opcode counters 2014-12-17 05:49:32 +03:00
tests iotests: Filter out "I/O thread spun..." warning 2015-01-13 11:47:56 +00:00
trace trace: [hmp] Reimplement "trace-event" and "info trace-events" using QMP 2014-09-26 09:34:38 +01:00
ui sdl2: fixes, cleanups and opengl preparation. 2014-12-21 23:17:00 +00:00
util block: Don't add trailing space in "Formating..." message 2014-12-12 16:52:33 +00:00
.exrc qemu: add .exrc 2012-09-07 09:02:44 +03:00
.gitignore trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
.gitmodules PPC: Add u-boot firmware for e500 2014-06-16 13:24:35 +02:00
.mailmap Update mailmap 2013-09-05 09:40:31 -05:00
.travis.yml .travis.yml: remove "make check" from main matrix 2014-09-26 21:05:06 +04:00
accel.c accel: Create accel object when initializing machine 2014-10-09 15:36:14 +02:00
aio-posix.c block: Use g_new0() for a bit of extra type checking 2014-12-10 10:31:21 +01:00
aio-win32.c block: Use g_new0() for a bit of extra type checking 2014-12-10 10:31:21 +01:00
arch_init.c arch_init: support resizing on incoming migration 2015-01-08 13:17:54 +02:00
async.c block: replace g_new0 with g_new for bottom half allocation. 2015-01-13 11:47:56 +00:00
balloon.c qapi event: convert BALLOON_CHANGE 2014-06-23 11:12:28 -04:00
block.c block: fix spoiling all dirty bitmaps by mirror and migration 2015-01-13 11:47:56 +00:00
blockdev-nbd.c nbd: Change external interface to BlockBackend 2014-12-10 10:31:12 +01:00
blockdev.c block: Add blockdev-backup to transaction 2015-01-13 11:47:56 +00:00
blockjob.c block: declare blockjobs and dataplane friends! 2014-11-03 11:41:49 +00:00
bootdevice.c bootdevice: add Error **errp argument for QEMUBootSetHandler 2014-12-22 14:39:21 +08:00
bt-host.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
bt-vhci.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
Changelog Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
CODING_STYLE CODING_STYLE: Section about conditional statement 2014-08-15 18:54:06 +04:00
configure seccomp: typo in configure error message 2015-01-05 18:08:27 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c glib-compat.h: add new thread API emulation on top of pre-2.31 API 2014-06-10 07:44:01 +02:00
coroutine-sigaltstack.c coroutine-sigaltstack: Change jmp_buf to sigjmp_buf 2014-11-11 11:07:55 +03:00
coroutine-ucontext.c Fix warnings suppressors to honor --disable-werror 2013-04-17 10:28:04 -05:00
coroutine-win32.c coroutine-win32.c: Add noinline attribute to work around gcc bug 2014-06-26 14:08:14 +01:00
cpu-exec.c cpu-exec: invalidate nocache translation if they are interrupted 2014-12-15 12:21:02 +01:00
cpus.c cpu: initialize cpu->exception_index on reset 2014-12-20 20:38:07 +00:00
cputlb.c qemu-log: add log category for MMU info 2014-12-16 18:43:19 +00:00
device_tree.c device-tree: fix memory leak 2015-01-07 16:16:26 +01:00
device-hotplug.c blockdev: Eliminate drive_del() 2014-10-20 13:41:26 +02:00
disas.c monitor: QEMU Monitor Instruction Disassembly Incorrect for PowerPC LE Mode 2014-06-16 13:24:26 +02:00
dma-helpers.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
dump.c dump: Fix dump-guest-memory termination and use-after-close 2014-11-02 10:04:34 +03:00
exec.c pc: resizeable ROM blocks 2015-01-10 21:02:23 +00:00
gdbstub.c Add the "-semihosting-config" option. 2014-12-11 12:07:48 +00:00
HACKING HACKING: Document vaddr type usage 2013-07-23 02:41:31 +02:00
hmp-commands.hx hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
hmp.c block/hmp: Allow node-name in 'info block' 2014-12-10 10:31:11 +01:00
hmp.h Add HMP command "info memory-devices" 2014-09-26 13:37:06 -04:00
iohandler.c iohandler.c: Properly initialize sigaction struct 2014-05-24 00:07:29 +04:00
ioport.c memory: convert memory_region_destroy to object_unparent 2014-08-18 12:06:20 +02:00
iothread.c async: aio_context_new(): Handle event_notifier_init failure 2014-09-22 11:39:48 +01:00
kvm-all.c kvm: extend kvm_irqchip_add_msi_route to work on s390 2015-01-12 10:14:04 +01:00
kvm-stub.c pc: kvm: check if KVM has free memory slots to avoid abort() 2014-11-23 12:11:29 +02:00
LICENSE vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00
main-loop.c Revert "main-loop.c: Handle SIGINT, SIGHUP and SIGTERM synchronously" 2014-10-27 15:05:09 +00:00
MAINTAINERS s390: Add PCI bus support 2015-01-12 10:14:04 +01:00
Makefile trace: install trace-events file 2014-09-26 09:34:39 +01:00
Makefile.objs Start migrating migration code into a migration directory 2014-12-16 17:47:36 +05:30
Makefile.target bootdevice: move bootdevice related code to new file bootdevice.c 2014-10-15 09:49:48 +02:00
memory_mapping.c Add skip_dump flag to ignore memory region during dump 2014-10-31 11:29:01 +01:00
memory.c memory: API to allocate resizeable RAM MR 2015-01-08 13:17:55 +02:00
module-common.c module: implement module loading 2014-02-20 13:14:18 +01:00
monitor.c bootdevice: add Error **errp argument for qemu_boot_set() 2014-12-22 14:39:20 +08:00
nbd.c nbd: Use BlockBackend internally 2014-12-10 10:31:12 +01:00
numa.c numa: make 'info numa' take into account hotplugged memory 2014-11-11 08:50:58 +03:00
os-posix.c os-posix: reorder parent notification for -daemonize 2014-11-02 10:04:34 +03:00
os-win32.c pidfile: stop making pidfile error a special case 2014-11-02 10:04:34 +03:00
page_cache.c migration: Plug memory leak in migrate-set-cache-size command 2014-06-10 19:54:43 +04:00
qapi-schema.json block: Add blockdev-backup to transaction 2015-01-13 11:47:56 +00:00
qdev-monitor.c qdev: Use qdev_get_device_class() for -device <type>,help 2014-11-04 17:50:00 +01:00
qdict-test-data.txt
qemu-bridge-helper.c qemu-bridge-helper: Fix fd leak in main() 2014-06-27 10:39:10 +02:00
qemu-char.c Drop superfluous conditionals around qemu_opts_del() 2014-12-10 11:27:02 +03:00
qemu-coroutine-io.c qemu-coroutine-io: fix for Win32 2014-08-29 10:46:58 +01:00
qemu-coroutine-lock.c coroutine: remove qemu_co_queue_wait_insert_head 2013-12-02 17:11:49 +01:00
qemu-coroutine-sleep.c coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
qemu-coroutine.c coroutine: make pool size dynamic 2014-08-15 15:07:14 +02:00
qemu-doc.texi block: vhdx - change .vhdx_create default block state to ZERO 2014-12-12 15:42:49 +00:00
qemu-img-cmds.hx qemu-img: Add progress output for amend 2014-11-03 11:41:48 +00:00
qemu-img.c qemu-img: Check create_opts before image amendment 2014-12-10 10:31:20 +01:00
qemu-img.texi qemu-img: Add progress output for amend 2014-11-03 11:41:48 +00:00
qemu-io-cmds.c qemu-io: Add sigraise command 2014-12-12 15:48:26 +00:00
qemu-io.c qemu-io: Allow explicitly specifying format 2014-12-10 10:31:12 +01:00
qemu-log.c qemu-log: add log category for MMU info 2014-12-16 18:43:19 +00:00
qemu-nbd.c qemu-nbd: Use BlockBackend where reasonable 2014-12-10 10:31:12 +01:00
qemu-nbd.texi nbd: Miscellaneous typo fixes. 2014-05-24 00:07:29 +04:00
qemu-options-wrapper.h vl.c: In qemu -h output, only print options for the arch we are running as 2011-12-19 10:27:33 -06:00
qemu-options.h vl.c: Move option generation logic into a wrapper file 2011-12-19 10:27:33 -06:00
qemu-options.hx target-arm queue: 2014-12-11 16:47:23 +00:00
qemu-seccomp.c seccomp: add mbind() to the syscall whitelist 2015-01-05 18:13:38 +01:00
qemu-tech.texi qemu-tech.texi: update implemented xtensa features list 2012-11-29 13:00:52 -06:00
qemu-timer.c - Migration and linuxboot fixes for 2.2 regressions 2014-12-15 16:43:42 +00:00
qemu.nsi nsis: Improved support for parallel installation of 32 and 64 bit code 2013-11-07 07:02:44 +01:00
qemu.sasl sasl: Avoid 'Could not find keytab file' in syslog 2014-03-15 13:54:18 +04:00
qmp-commands.hx qmp: Add command 'blockdev-backup' 2015-01-13 11:47:56 +00:00
qmp.c qmp: Print descriptions of object properties 2014-10-15 05:03:15 +02:00
qtest.c qtest: fix qtest log fd should be initialized before qtest chardev 2014-10-23 16:41:27 +02:00
README Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
rules.mak rules.mak: Allow .mo-objs and .mo-cflags in -y variables 2014-10-31 11:26:25 +01:00
savevm.c snapshot: Reset err to NULL to avoid double free 2014-11-03 09:48:41 +00:00
softmmu_template.h softmmu: provide softmmu access type enum 2014-11-03 11:48:34 +00:00
spice-qemu-char.c spice: remove spice-experimental.h include 2014-12-16 14:15:29 +01:00
tcg-runtime.c tcg: Push tcg-runtime routines into exec/helper-* 2014-05-28 09:33:54 -07:00
tci.c Merge remote-tracking branch 'remotes/bonzini/softmmu-smap' into staging 2014-06-05 21:06:14 +01:00
thread-pool.c block: Rename BlockDriverCompletionFunc to BlockCompletionFunc 2014-10-20 13:41:27 +02:00
thunk.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
tpm.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
trace-events hw/vfio: create common module 2014-12-22 09:54:51 -07:00
translate-all.c translate: check cflags instead of use_icount global 2015-01-03 09:22:10 +01:00
translate-all.h translate-all: Change tb_check_watchpoint() argument to CPUState 2014-03-13 19:20:48 +01:00
user-exec.c softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
VERSION Open 2.3 development tree 2014-12-09 21:48:34 +00:00
version.rc Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
vl.c hw/usb: simplified usb_enabled 2015-01-08 17:32:27 +00:00
xen-common-stub.c accel: Move Xen registration code to xen-common.c 2014-10-04 08:59:15 +02:00
xen-common.c accel: Pass MachineState object to accel init functions 2014-10-09 12:57:10 +02:00
xen-hvm-stub.c xen-hvm: Fix xen_hvm_init() to adjust pc memory layout 2014-06-23 17:50:04 +03:00
xen-hvm.c xen-hvm: Remove redundant variable 'xstate' 2014-11-11 17:34:53 +03:00
xen-mapcache.c xen: build on ARM 2014-07-07 10:37:40 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team