
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(-)