ceph/ceph-init-fix.patch

63 lines
1.8 KiB
Diff

diff -up ceph-0.20/src/init-ceph.in.init ceph-0.20/src/init-ceph.in
--- ceph-0.20/src/init-ceph.in.init 2010-04-22 16:11:34.000000000 -0400
+++ ceph-0.20/src/init-ceph.in 2010-05-05 15:37:11.185677759 -0400
@@ -1,10 +1,11 @@
#!/bin/sh
# Start/stop ceph daemons
+# chkconfig: - 60 80
### BEGIN INIT INFO
# Provides: ceph
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Default-Start:
+# Default-Stop:
# Required-Start: $remote_fs $named $network $time
# Required-Stop: $remote_fs $named $network $time
# Short-Description: Start Ceph distributed file system daemons at boot time
@@ -28,6 +29,8 @@ else
fi
fi
+lockfile=/var/lock/subsys/ceph
+
usage_exit() {
echo "usage: $0 [options] {start|stop|restart} [mon|osd|mds]..."
printf "\t-c ceph.conf\n"
@@ -244,6 +247,7 @@ for name in $what; do
[ -n "$pre_start" ] && do_cmd "$pre_start"
do_cmd "$cmd" $runarg
[ -n "$post_start" ] && do_cmd "$post_start"
+ [ "$?" = 0 ] && touch $lockfile
;;
stop)
@@ -252,19 +256,27 @@ for name in $what; do
[ -n "$pre_stop" ] && do_cmd "$pre_stop"
stop_daemon $name c$type $pid_file
[ -n "$post_stop" ] && do_cmd "$post_stop"
+ [ "$?" = 0 ] && rm -f $lockfile
;;
+ status)
+ pid=`cat $pid_file`
+ ps $pid &> /dev/null
+ exit $?
+ ;;
forcestop)
get_conf pre_forcestop "" "pre forcestop command"
get_conf post_forcestop "" "post forcestop command"
[ -n "$pre_forcestop" ] && do_cmd "$pre_forcestop"
stop_daemon $name c$type $pid_file -9
[ -n "$post_forcestop" ] && do_cmd "$post_forcestop"
+ [ "$?" = 0 ] && rm -f $lockfile
;;
killall)
echo "killall c$type on $host"
do_cmd "pkill ^c$type || true"
+ [ "$?" = 0 ] && rm -f $lockfile
;;
force-reload | reload)