summaryrefslogtreecommitdiffstats
path: root/extras/hook-scripts/reset/post/S31ganesha-reset.sh
blob: 8191d960592f2f3c524a46d3428970486f965399 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#/bin/bash
PROGNAME="Sganesha-reset"
OPTSPEC="volname:,gd-workdir:"
VOL=
GLUSTERD_WORKDIR=

function parse_args () {
        ARGS=$(getopt -l $OPTSPEC  -o "o" -name $PROGNAME $@)
        eval set -- "$ARGS"
        while true; do
            case $1 in
                --volname)
                    shift
                    VOL=$1
                    ;;
                --gd-workdir)
                    shift
                    GLUSTERD_WORKDIR=$1
                    ;;
                 *)
                    shift
                    break
                    ;;
            esac
            shift
        done
}

function is_volume_started () {
        volname=$1
        echo "$(grep status $GLUSTERD_WORKDIR/vols/"$volname"/info |\
                cut -d"=" -f2)"
}

parse_args $@
if ps aux | grep -q "[g]anesha.nfsd"
        then
        kill -s TERM `cat /var/run/ganesha.pid`
        sleep 10
        rm -rf /var/lib/glusterfs-ganesha/exports
        rm -rf /var/lib/glusterfs-ganesha/.export_added
        sed -i /conf/d /var/lib/ganesha/nfs-ganesha.conf
        if [ "1" = $(is_volume_started "$VOL") ];
                then
                gluster volume start $VOL force
        fi
fi