[libvirt] [PATCH v7 2/6] add fuse support for libvirt lxc

Gao feng gaofeng at cn.fujitsu.com
Wed Nov 7 00:34:36 UTC 2012


于 2012年11月06日 20:55, Richard W.M. Jones 写道:
> On Tue, Nov 06, 2012 at 07:50:33PM +0800, Gao feng wrote:
>> 于 2012年11月06日 17:11, Richard W.M. Jones 写道:
>>> On Tue, Nov 06, 2012 at 04:54:59PM +0800, Gao feng wrote:
>>>> Because libvirt_lxc create a thread to mount fuse filesystem.
>>>> and then libvirt_lxc will try to access the fuse filesystem.
>>>>
>>>> Without waiting,libvirt_lxc may access fuse before it is mounted.
>>>>
>>>> And I can't find a better way to make accessing fuse after the fuse
>>>> being mounted,because fuse_main will return until fuse being unmounted,so
>>>> I don't know how to pass message to tell libvirt_lxc whether the fuse is
>>>> mounted success.
>>>
>>> Oh I see.  This is solvable, but I believe that you cannot use
>>> fuse_main.  You have to look at the fuse sources (quite complex!)  and
>>> do the individual fuse operations.
>>>
>>> Have a look at how libguestfs does it ...
>>>
>>>   https://github.com/libguestfs/libguestfs/blob/master/src/fuse.c#L911
>>>   http://libguestfs.org/guestfs.3.html#mount-local
>>>
>>
>>
>> Thanks for the information.
>>
>> Can fuse_mount & fuse_new & fuse_loop avoid the waiting?
>>
>> It seems has the same problem.
> 
> It waits, but it doesn't busy wait in a loop.  The first access to the
> filesystem hangs until the thread which is handling the filesystem is
> listening for requests.
> 

I will look at the fuse sources,and find if there is a better way
to handle this problem.

Thanks!




More information about the libvir-list mailing list