summaryrefslogtreecommitdiffstats
path: root/systemd/gluster-blockd.initd.in
blob: 39fb256effc9b401bde429373bde65aca460ddbb (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/bin/bash
#
# gluster-blockd    Startup script for the gluster-blockd server
#
# chkconfig:   - 20 80
# description: GlusterFS block server

### BEGIN INIT INFO
# Provides: gluster-block
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: glusterfs block server
# Description:       GlusterFS block server
### END INIT INFO
#

# Source function library.
. /etc/rc.d/init.d/functions

BASE=gluster-blockd

# Fedora File System Layout dictates /run
[ -e /run ] && RUNDIR="/run"
PIDFILE="${RUNDIR:-/var/run}/${BASE}.pid"

PID=`test -f $PIDFILE && cat $PIDFILE`

# Overwriteable from sysconfig
GB_GLFS_LRU_COUNT=5
GB_LOG_LEVEL='INFO'
GB_EXTRA_ARGS=""
GB_NOFILE='65536'

[ -f /etc/sysconfig/${BASE} ] && . /etc/sysconfig/${BASE}

[ ! -z $GB_LOG_LEVEL ] && GB_OPTIONS="${GB_OPTIONS} --log-level ${GB_LOG_LEVEL}"
[ ! -z $GB_GLFS_LRU_COUNT ] && GB_OPTIONS="${GB_OPTIONS} --glfs-lru-count ${GB_GLFS_LRU_COUNT}"
[ ! -z $GB_EXTRA_ARGS ] && GB_OPTIONS="${GB_OPTIONS} ${GB_EXTRA_ARGS}"

GBD_BIN=@prefix@/sbin/$BASE
GBD_OPTS="${GB_OPTIONS}"
GBD="$GBD_BIN $GBD_OPTS"
RETVAL=0

LOCKFILE=/var/lock/subsys/${BASE}

# Start the service $BASE
start()
{
       if pidofproc -p $PIDFILE $GBD_BIN &> /dev/null; then
           echo "gluster-blockd service is already running with pid $PID"
           return 0
       else
           ulimit -n $GB_NOFILE
           echo -n $"Starting $BASE:"
           nohup $GBD &> /dev/null &
           RETVAL=$?
           echo
           [ $RETVAL -eq 0 ] && touch $LOCKFILE
           return $RETVAL
       fi
}

# Stop the service $BASE
stop()
{
    echo -n $"Stopping $BASE:"
    if pidofproc -p $PIDFILE $GBD_BIN &> /dev/null; then
        killproc -p $PIDFILE $BASE
    else
        killproc $BASE
    fi
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
    return $RETVAL
}

restart()
{
    stop
    start
}

reload()
{
    restart
}

force_reload()
{
    restart
}

rh_status()
{
    status $BASE
}

rh_status_q()
{
    rh_status &>/dev/null
}


### service arguments ###
case $1 in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 1
esac

exit $?