Thanks Jim, this will be in v0.22.1. sage On Thu, 21 Oct 2010, Jim Schutt wrote: > When starting multiple instances of a daemon on a single host, > for unknown reasons /var/run/ceph/$type.$id.pid can hold a pid > for which /proc/$pid/cmdline identifies the right type of daemon, > but the wrong instance. When this happens, all the configured > instances of a daemon are not running, but repeated invocations > of "init-ceph start" do not start the missing instances. > > So, check for the correct daemon instance id as well as type when > testing if the daemon is up. > > Signed-off-by: Jim Schutt <jaschut@xxxxxxxxxx> > --- > src/init-ceph.in | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/src/init-ceph.in b/src/init-ceph.in > index 52891c0..d42a806 100644 > --- a/src/init-ceph.in > +++ b/src/init-ceph.in > @@ -69,10 +69,11 @@ signal_daemon() { > daemon_is_running() { > name=$1 > daemon=$2 > - pidfile=$3 > + daemon_id=$3 > + pidfile=$4 > do_cmd "[ -e $pidfile ] || exit 1 # no pid, presumably not running > pid=\`cat $pidfile\` > - [ -e /proc/\$pid ] && grep -q $daemon /proc/\$pid/cmdline && exit 0 # running > + [ -e /proc/\$pid ] && grep -q $daemon /proc/\$pid/cmdline && grep -qwe -i.$daemon_id /proc/\$pid/cmdline && exit 0 # running > exit 1 # pid is something else" "" "okfail" > } > > @@ -195,7 +196,7 @@ for name in $what; do > > # start, and already running? (do this check early to avoid unnecessary work!) > if [ "$command" = "start" ]; then > - if daemon_is_running $name c$type $pid_file; then > + if daemon_is_running $name c$type $id $pid_file; then > echo "Starting Ceph $name on $host...already running" > continue > fi > -- > 1.6.6 > > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html