[libvirt] [RFC: PATCHv4 00/15] outgoing migration via fd: rather than exec:

Laine Stump laine at laine.org
Thu Mar 10 05:24:37 UTC 2011


On 03/09/2011 08:45 PM, Eric Blake wrote:
> Needs more testing - especially on root-squash NFS

Starting up a domain with backing store on root-squash NFS works fine.

When I try to save the domain to a directory on a root-squash NFS, 
though, the save hangs forever with a zombified child process with a 
WCHAN of "exit", and the parent process is sitting on recvmsg():

Thread 4 (Thread 0x7f6045f55700 (LWP 3754)):
#0  0x000000332840e9cd in recvmsg () from /lib64/libpthread.so.0
#1  0x00007f604ea7ddc9 in virFileOpenAs (
     path=0x7f6038009e90 "/remote/vhost-libvirt/qemu/RHEL6.save",
     openflags=577, mode=432, uid=107, gid=107, flags=1) at util/util.c:1513
#2  0x00000000004416b0 in qemudDomainSaveFlag (driver=0xbb96f0,
     dom=0x7f60380095a0, vm=0xd219c0,
     path=0x7f6038009e90 "/remote/vhost-libvirt/qemu/RHEL6.save",
     compressed=<value optimized out>) at qemu/qemu_driver.c:1924
#3  0x0000000000441a12 in qemudDomainSave (dom=0x7f60380095a0,
     path=0x7f6038009e90 "/remote/vhost-libvirt/qemu/RHEL6.save")
     at qemu/qemu_driver.c:2143
#4  0x00007f604eadeae6 in virDomainSave (domain=0x7f60380095a0,
     to=0x7f6038009e90 "/remote/vhost-libvirt/qemu/RHEL6.save")
     at libvirt.c:2280

I get a similar hang when I try to restore from an image saved on 
root-squash NFS.

(if it makes any difference, this is on F13, with qemu-kvm-0.13.0-1)

Do you want me to try bisecting it? Access to the machine?

> Eric Blake (15):
>    qemu: use lighter-weight fd:n on incoming tunneled migration
>    qemu: consolidate duplicated monitor migration code
>    qemu: improve efficiency of dd during snapshots
>    qemu: support migration to fd
>    util: use SCM_RIGHTS in virFileOperation when needed
>    qemu: allow simple domain save to use fd: protocol
>    qemu: simplify domain save fd handling
>    storage: simplify fd handling
>    util: rename virFileOperation to virFileOpenAs
>    util: adjust indentation in previous patch
>    qemu, storage: improve type safety
>    qemu: use common API for reading difficult files
>    qemu: consolidate migration to file code
>    qemu: skip granting access during fd migration
>    qemu: support fd: migration with compression
>
>   src/libvirt_private.syms      |    2 +-
>   src/qemu/qemu_driver.c        |  626 ++++++++++++++++-------------------------
>   src/qemu/qemu_migration.c     |   45 +--
>   src/qemu/qemu_monitor.c       |  124 ++++++++-
>   src/qemu/qemu_monitor.h       |    4 +
>   src/qemu/qemu_monitor_json.c  |  125 +--------
>   src/qemu/qemu_monitor_json.h  |   23 +--
>   src/qemu/qemu_monitor_text.c  |  123 +--------
>   src/qemu/qemu_monitor_text.h  |   23 +--
>   src/storage/storage_backend.c |   80 +++---
>   src/util/util.c               |  161 ++++++++----
>   src/util/util.h               |   15 +-
>   12 files changed, 544 insertions(+), 807 deletions(-)
>




More information about the libvir-list mailing list