diff options
-rwxr-xr-x | extras/hook-scripts/start/post/S31ganesha-start.sh | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/extras/hook-scripts/start/post/S31ganesha-start.sh b/extras/hook-scripts/start/post/S31ganesha-start.sh index 513402eaa16..b85c789b9ed 100755 --- a/extras/hook-scripts/start/post/S31ganesha-start.sh +++ b/extras/hook-scripts/start/post/S31ganesha-start.sh @@ -75,30 +75,32 @@ function export_add() # else EXPORT_ID=`cat $GANESHA_DIR/.export_added` + EXPORT_ID=EXPORT_ID+1 #fi fi - for entry in `grep -n Export_Id $GANESHA_DIR/exports/export.$VOL.conf \ - | awk -F":" '{print$1}'` - do - sed -e "$entry s/Export_Id.*/Export_Id=$EXPORT_ID ;/" -i \ - $GANESHA_DIR/exports/export.$VOL.conf - 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(Export_Id=$EXPORT_ID)" - EXPORT_ID=EXPORT_ID+1 - done 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 } +#This function adds a new export dynamically by sending dbus signals +function dynamic_export_add() +{ + 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(Path=/$VOL)" + +} + function start_ganesha() { #Remove export entry from nfs-ganesha.conf sed -i /$VOL.conf/d $CONF1 #Create a new export entry export_add $VOL + dynamic_export_add $VOL + } # based on src/scripts/ganeshactl/Ganesha/export_mgr.py |