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

Wen Congyang wency at cn.fujitsu.com
Fri Mar 11 03:48:22 UTC 2011


At 03/11/2011 03:54 AM, Laine Stump Write:
> 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.

Yes. I can reproduce this problem when setting the parent directory to 700.

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