On Wed, Jun 17, 2015 at 05:31:03PM +0200, Kashyap Chamarthy wrote: > On Tue, Jun 16, 2015 at 01:42:02AM +0300, Pavel Boldin wrote: > > [. . .] > > > Michal Privoznik (3): > > virDomainDiskGetSource: Mark passed disk as 'const' > > qemuMigrationBeginPhase: Fix function header indentation > > qemuMigrationDriveMirror: Force raw format for NBD > > > > Pavel Boldin (6): > > util: multi-value virTypedParameter > > util: multi-value parameters in virTypedParamsAdd* > > util: virTypedParams{Filter,GetAllStrings} > > util: add virTypedParamsAddStringList > > qemu: migration: selective block device migration > > virsh: selective block device migration > > > > include/libvirt/libvirt-domain.h | 9 ++ > > include/libvirt/libvirt-host.h | 11 ++ > > src/conf/domain_conf.c | 2 +- > > src/conf/domain_conf.h | 2 +- > > src/libvirt_public.syms | 6 + > > src/qemu/qemu_driver.c | 78 ++++++++--- > > src/qemu/qemu_migration.c | 264 +++++++++++++++++++++++++---------- > > src/qemu/qemu_migration.h | 24 ++-- > > src/util/virtypedparam.c | 259 +++++++++++++++++++++++++++------- > > src/util/virtypedparam.h | 19 +++ > > tests/Makefile.am | 6 + > > tests/virtypedparamtest.c | 295 > > +++++++++++++++++++++++++++++++++++++++ > > tools/virsh-domain.c | 23 +++ > > tools/virsh.pod | 21 +-- > > 14 files changed, 854 insertions(+), 165 deletions(-) > > create mode 100644 tests/virtypedparamtest.c > > > > New test with this revision of patches applied. > [. . .]
> Probably I should test by building local RPMs. I missed to apply the diff from Michal earlier. So, I tested again from git, now that Michal pushed them already :-). With both --copy-storage-all and --copy-storage-inc. Simple test seems to work: - On source: $ virsh domblklist cvm1 Target Source ------------------------------------------------ vda /var/lib/libvirt/images/cirros-0.3.3-x86_64-disk.img vdb /export/disk2.img - On destination, /export/disk2.img (vdb) already exists. - On source, just migrate the 'vda' device: $ virsh migrate --verbose --p2p --copy-storage-all \ --migrate-disks vda \ --live cvm1 qemu+tcp://root@devstack3/system Migration: [100 %] - On source, cvm1 is down (as expected). - On destination, cvm1 is running, and both the block devices (vda, vdb) are enumerated. As a test 2, I tried the opposite: - Ensured the vda (/var/lib/libvirt/images/cirros-0.3.3-x86_64-disk.img) is in place on destination. - Did a `virsh pool-refresh` on both existing pools on destination, for good measure. - This time, tried to migrate only 'vdb', and the result is the migrate command just hung on source: $ virsh migrate --verbose --p2p --copy-storage-all \ --migrate-disks vdb \ --live cvm1 qemu+tcp://root@devstack3/system # Here the command is just hung - On destination, the guest is in paused state: $ virsh list Id Name State ---------------------------------------------------- 15 cvm1 paused Here's the libvirt debug log from *destination*, if anyone is interested: https://kashyapc.fedorapeople.org/virt/temp/libvirtd-log-dst-hung-blockdev-mig.log -- /kashyap -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list