summaryrefslogtreecommitdiffstats
path: root/extras/ganesha/scripts/dbus-send.sh
diff options
context:
space:
mode:
authorSoumya Koduri <skoduri@redhat.com>2016-02-17 15:34:44 +0530
committerKaleb KEITHLEY <kkeithle@redhat.com>2016-03-15 00:25:19 -0700
commitef1b79a86714e235a7430e2eb95acceb83cfc774 (patch)
tree043eda137a3c7172f193075eeadfeaa309c1a5e8 /extras/ganesha/scripts/dbus-send.sh
parent5bdfaf98904a339144bf3a237b162e8385b95085 (diff)
ganesha: Read export_id on each node while performing refresh-config
As mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=1309238#c1, there could be cases which shall result in having different ExportIDs for the same volume on each node forming the ganesha cluster. Hence during refresh-config, it is necessary to read the ExportID on each of those nodes and re-export that volume with the same ID. BUG: 1309238 Change-Id: Id39b3a0ce2614ee611282ff2bee04cede1fc129d Signed-off-by: Soumya Koduri <skoduri@redhat.com> Reviewed-on: http://review.gluster.org/13459 CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Smoke: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/13726 Tested-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'extras/ganesha/scripts/dbus-send.sh')
-rwxr-xr-xextras/ganesha/scripts/dbus-send.sh24
1 files changed, 15 insertions, 9 deletions
diff --git a/extras/ganesha/scripts/dbus-send.sh b/extras/ganesha/scripts/dbus-send.sh
index 45644fd6f71..79c6a2f38af 100755
--- a/extras/ganesha/scripts/dbus-send.sh
+++ b/extras/ganesha/scripts/dbus-send.sh
@@ -89,20 +89,26 @@ function dynamic_export_add()
done
echo $EXPORT_ID > $GANESHA_DIR/.export_added
check_cmd_status `echo $?`
+ sed -i s/Export_Id.*/"Export_Id= $EXPORT_ID ;"/ \
+$GANESHA_DIR/exports/export.$VOL.conf
+ check_cmd_status `echo $?`
+ dbus-send --system \
+--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \
+org.ganesha.nfsd.exportmgr.AddExport string:$GANESHA_DIR/exports/export.$VOL.conf \
+string:"EXPORT(Path=/$VOL)"
+ check_cmd_status `echo $?`
}
#This function removes an export dynamically(uses the export_id of the export)
function dynamic_export_remove()
{
- grep Export_Id $GANESHA_DIR/exports/export.$VOL.conf | \
- while read entry;
- do
- dbus-send --print-reply --system \
- --dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \
- org.ganesha.nfsd.exportmgr.RemoveExport \
- uint16:$(echo $entry | awk -F"[=,;]" '{print$2}')
- check_cmd_status `echo $?`
- done
+ 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