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

Laine Stump laine at laine.org
Thu Mar 10 19:54:06 UTC 2011


On 03/10/2011 03:59 AM, Wen Congyang wrote:
> At 03/10/2011 01:24 PM, Laine Stump Write:
>> 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():
> I save the domain to a directory on a root-squash NFS, and it works
> fine.
>
> Restoring the domain works fine too.

Okay, I've figured out what happened - the permission on a parent of my 
target directory on the NFS server had been changed during unrelated 
testing from (root,root) 755 to 700, so even though the target directory 
had the proper user (qemu,qemu), qemu was denied access to the directory 
due to its parent's permissions/ownership. When I set the parent 
directory back to 755, save and restore both work.

However, the current code still has a problem - if you try to save 
to/from a directory that the qemu user doesn't have permission for (and 
presumably if there's any other error in the child that causes it to 
skip the sendmsg), rather than returning an error virFileOpenAs just 
hangs on recvmsg waiting for the fd info to come over the pipe, while 
the child process sits around as a zombie because nobody has reaped its 
exit status.




More information about the libvir-list mailing list