Hi Soumya,

> Il giorno 17/giu/2015, alle ore 19:41, Soumya Koduri <[email protected]> ha 
> scritto:
> 
> 
> 
> On 06/17/2015 10:57 PM, Alessandro De Salvo wrote:
>> Hi,
>> when disabling exports from gluster 3.7.1, by using gluster vol set <volume> 
>> ganesha.enable off, I always get the following error:
>> 
>> Error: Dynamic export addition/deletion failed. Please see log file for 
>> details
>> 
>> This message is produced by the failure of 
>> /usr/libexec/ganesha/dbus-send.sh, and in fact if I manually perform the 
>> command to remove the share I see:
> you got it wrong. '/usr/libexec/ganesha/dbus-send.sh' is used by Gluster-CLI 
> to unexport the volume "gluster volume set <volname> ganesha.enable off" 
> which rightly deletes the export file too while un-exporting the volume.

Indeed, but the code is the following, only showing the two important functions:


function check_cmd_status()
{
        if [ "$1" != "0" ]
                 then
                 rm -rf $GANESHA_DIR/exports/export.$VOL.conf
                 exit 1
        fi
}

function dynamic_export_remove()
{
        removed_id=`cat $GANESHA_DIR/exports/export.$VOL.conf |\
grep Export_Id | cut -d " " -f8`
        check_cmd_status `echo $?`
        dbus-send --print-reply --system \
--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \
org.ganesha.nfsd.exportmgr.RemoveExport uint16:$removed_id
        check_cmd_status `echo $?`
        sed -i /$VOL.conf/d $CONF
        rm -rf $GANESHA_DIR/exports/export.$VOL.conf

}


So, if the dbus-send fails the function check_cmd_status() just deletes 
$GANESHA_DIR/exports/export.$VOL.conf and then quits the whole script, so the 
last two lines (the sed and the rm) are never executed in 
dynamic_export_remove()

> 
>> 
>> # dbus-send --print-reply --system --dest=org.ganesha.nfsd 
>> /org/ganesha/nfsd/ExportMgr org.ganesha.nfsd.exportmgr.RemoveExport uint16:2
>> Error org.freedesktop.DBus.Error.NoReply: Message did not receive a reply 
>> (timeout by message bus)
>> 
>> So, there is a timeout and it fails completely.
> Check if nfs-ganesha is still running. There was a bug in unexporting the 
> volume. Its been fixed recently in V2.3-dev, yet to be back-ported to 
> V2.2-stable branch.
> https://review.gerrithub.io/#/c/236129/

Ah, I see! Yes, ganesha was still alive, otherwise the message would have been 
different (something like ganesha is unknown by messagebus), and I have also 
checked with service nfs-ganesha status. However, probably due to the bug 
you’re mentioning, without issuing e.g. a DisplayExport I’m always getting 
timeouts.
Thanks,

        Alessandro

> 
> Thanks,
> Soumya
> 
>> In this case I think there is a bug in /usr/libexec/ganesha/dbus-send.sh, 
>> since it blindly deletes the share config if the RemoveExport fails 
>> (function check_cmd_status()), but leaves the %include inside ganesha.conf 
>> as in the check_cmd_status() there is a runaway condition and the other 
>> removal statements are then not executed. I believe the logic should be 
>> fixed here, otherwise even a restart of the service will fail due to the bad 
>> configuration.
>> 
>> 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.
>> Thanks,
>> 
>>      Alessandro
>> 
>> PS: sorry for reporting so many things in a few days :-)
>> 
>> 
>> 
>> ------------------------------------------------------------------------------
>> 
>> 
>> 
>> _______________________________________________
>> Nfs-ganesha-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
>> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Gluster-users mailing list
[email protected]
http://www.gluster.org/mailman/listinfo/gluster-users

Reply via email to