diff options
| author | Jiffin Tony Thottan <jthottan@redhat.com> | 2016-11-28 19:18:51 +0530 | 
|---|---|---|
| committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2016-12-01 10:38:47 -0800 | 
| commit | 76eef16d762f500df500de0d3187aff23dc39ac6 (patch) | |
| tree | dce2a4b47d61ffea5b6f97c235a9b226bb12a1df /extras/hook-scripts | |
| parent | 57d59f4be205ae0c7888758366dc0049bdcfe449 (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.
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>
Diffstat (limited to 'extras/hook-scripts')
| -rwxr-xr-x | extras/hook-scripts/start/post/S31ganesha-start.sh | 42 | 
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  | 
