[Gluster-users] [Nfs-ganesha-devel] Problems in /usr/libexec/ganesha/dbus-send.sh and ganesha dbus interface when disabling exports from gluster

Soumya Koduri skoduri at redhat.com
Thu Jun 18 16:15:59 UTC 2015



On 06/18/2015 07:39 PM, Malahal Naineni wrote:
> I still have not looked at the log messages, but I see the dbus thread
> waiting for the upcall thread to complete when an export is removed. Is
> there is a time limit on how the upcall thread gets blocked?
>
A variable called 'destroy_mode' is used to achieve that. This variable 
is set to true during unexport. Upcall thread checks this value in a 
loop before polling for events and exits when set to true.

> In GPFS fsal, we actually send a command to return the upcall thread
> with (THREAD_STOP) and then wait for the upcall thread.
>
Thanks for the pointer. We plan to optimize our upcall mechanism by 
using callbacks/cond_variables instead of polling in the near future. We 
shall check on reducing the number of threads too dedicated for it.

Thanks,
Soumya

> Regards, Malahal.
> PS: GPFS has only one upcall thread for the entire file system image
> (not for each export).
>
> Alessandro De Salvo [Alessandro.DeSalvo at roma1.infn.it] wrote:
>> Hi Malahal,
>>
>>> Il giorno 17/giu/2015, alle ore 19:51, Malahal Naineni <malahal at us.ibm.com> ha scritto:
>>>
>>> Alessandro De Salvo [Alessandro.DeSalvo at roma1.infn.it] wrote:
>>>> What’s more worrying is the problem with the dbus. Issuing a DisplayExport before the RemoveExport apparently fixes the problem, so something like this always works:
>>>>
>>>> # dbus-send --print-reply --system --dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr org.ganesha.nfsd.exportmgr.DisplayExport uint16:2
>>>> # dbus-send --print-reply --system --dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr org.ganesha.nfsd.exportmgr.RemoveExport uint16:2
>>>>
>>>> So, it’s like the DisplayExport is forcing someway a refresh that is needed by the RemoveExport. Any idea why?
>>>> I’m using the latest version of ganesha 2.2.0, i.e. 2.2.0-3.
>>>
>>> I used the same exact command above (the second one that removes an
>>> export) after restarting ganesha, and it just worked fine. I use GPFS
>>> FSAL (neither gluster nor VFS).
>>>
>>> Not sure why you need to use DisplayExport before using RemoveExport.
>>> Try to trace 'DBUS' component at FULL_DEBUG (or maybe everything at
>>> FULL_DEBUG) and post the log. The error you reported means we are NOT
>>> responding to the dbus message which is very odd!
>>
>> Indeed! This is why I was worried :-)
>> I’m attaching the ganesha.log with NIV_FULL_DEBUG, you can see the restart at the end, due to my attempt of RemoveExport, which always gave me the same error as before.
>> Thanks,
>>
>> 	Alessandro
>>
>
>
>>
>>>
>>> Reagrds, Malahal.
>>>
>>>
>>
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Nfs-ganesha-devel mailing list
> Nfs-ganesha-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
>


More information about the Gluster-users mailing list