summaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorJiffin Tony Thottan <jthottan@redhat.com>2016-11-28 19:18:51 +0530
committerKaleb KEITHLEY <kkeithle@redhat.com>2016-12-04 23:01:01 -0800
commit78e4d186cfa7b2db94cbe2090bb004c4da05056f (patch)
tree7fc9b71c4ae9675f8aa364bfc91165fea7873eb0 /extras
parentbe1617531beef54afe506833e03e1653c8b2274d (diff)
ganesha/scripts : avoid incrementing Export Id value for already exported volumes
Currently a volume will unexport when it stops and reexport it during volume start using hook script. And also it increments the value for export id for each reexport. Since a hook script is called from every node parallely which may led inconsistency for export id value. Upstream reference : >Change-Id: Ib9f19a3172b2ade29a3b4edc908b3267c68c0b20 >BUG: 1399186 >Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com> >Reviewed-on: http://review.gluster.org/15948 >Smoke: Gluster Build System <jenkins@build.gluster.org> >NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> >CentOS-regression: Gluster Build System <jenkins@build.gluster.org> >Reviewed-by: soumya k <skoduri@redhat.com> >Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> >(cherry picked from commit 76eef16d762f500df500de0d3187aff23dc39ac6) Change-Id: Ib9f19a3172b2ade29a3b4edc908b3267c68c0b20 BUG: 1401011 Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com> Reviewed-on: http://review.gluster.org/16013 Smoke: Gluster Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Diffstat (limited to 'extras')
-rwxr-xr-xextras/hook-scripts/start/post/S31ganesha-start.sh42
1 files changed, 10 insertions, 32 deletions
diff --git a/extras/hook-scripts/start/post/S31ganesha-start.sh b/extras/hook-scripts/start/post/S31ganesha-start.sh
index 1bbeeab9567..0e98ec24d19 100755
--- a/extras/hook-scripts/start/post/S31ganesha-start.sh
+++ b/extras/hook-scripts/start/post/S31ganesha-start.sh
@@ -60,45 +60,15 @@ echo " SecType = \"sys\";"
echo "}"
}
-#This function keeps track of export IDs and increments it with every new entry
-#Also it adds the export dynamically by sending dbus signals
+#It adds the export dynamically by sending dbus signals
function export_add()
{
- count=`ls -l $GANESHA_DIR/exports/*.conf | wc -l`
- if [ "$count" = "1" ] ;
- then
- EXPORT_ID=2
- else
- #if [ -s /var/lib/ganesha/export_removed ];
- # then
- # EXPORT_ID=`head -1 /var/lib/ganesha/export_removed`
- # sed -i -e "1d" /var/lib/ganesha/export_removed
- # else
-
- EXPORT_ID=`cat $GANESHA_DIR/.export_added`
- EXPORT_ID=EXPORT_ID+1
- #fi
- fi
- echo $EXPORT_ID > $GANESHA_DIR/.export_added
- sed -i s/Export_Id.*/"Export_Id=$EXPORT_ID;"/ \
-$GANESHA_DIR/exports/export.$VOL.conf
- echo "%include \"$GANESHA_DIR/exports/export.$VOL.conf\"" >> $CONF1
-
dbus-send --print-reply --system --dest=org.ganesha.nfsd \
/org/ganesha/nfsd/ExportMgr org.ganesha.nfsd.exportmgr.AddExport \
string:$GANESHA_DIR/exports/export.$VOL.conf string:"EXPORT(Export_Id=$EXPORT_ID)"
}
-function start_ganesha()
-{
- #Remove export entry from nfs-ganesha.conf
- sed -i /$VOL.conf/d $CONF1
- #Create a new export entry
- export_add $VOL
-
-}
-
# based on src/scripts/ganeshactl/Ganesha/export_mgr.py
function is_exported()
{
@@ -133,9 +103,17 @@ if ganesha_enabled ${VOL} && ! is_exported ${VOL}
then
if [ ! -e ${GANESHA_DIR}/exports/export.${VOL}.conf ]
then
+ #Remove export entry from nfs-ganesha.conf
+ sed -i /$VOL.conf/d $CONF1
write_conf ${VOL} > ${GANESHA_DIR}/exports/export.${VOL}.conf
+ EXPORT_ID=`cat $GANESHA_DIR/.export_added`
+ EXPORT_ID=EXPORT_ID+1
+ echo $EXPORT_ID > $GANESHA_DIR/.export_added
+ sed -i s/Export_Id.*/"Export_Id=$EXPORT_ID;"/ \
+ $GANESHA_DIR/exports/export.$VOL.conf
+ echo "%include \"$GANESHA_DIR/exports/export.$VOL.conf\"" >> $CONF1
fi
- start_ganesha ${VOL}
+ export_add $VOL
fi
exit 0