-- if which initctl > /dev/null && [ -x `which initctl` ]; then
-- # upstart reload isn't very helpful here:
-- # https://bugs.launchpad.net/upstart/+bug/1012938
-- for type in mon osd mds; do
-- initctl list \
-- | perl -ne 'print "$+{service} cluster=$+{cluster} id=$+{id}\n" if m{^(?<service>ceph-(mon|osd|mds)+)\s+\((?<cluster>[^/)]+)/(?<id>[^)]+)\) start/}' \
-- | while read l; do
-- initctl reload -- $l 2>/dev/null || :
-- done
+- if which initctl > /dev/null 2>&1 && [ -x `which initctl` ]; then
+- for daemon in osd mon mds ; do
+- find -L /var/lib/ceph/$daemon/ -mindepth 1 -maxdepth 1 -regextype posix-egrep -regex '.*/[A-Za-z0-9]+-[A-Za-z0-9._-]+' -printf '%P\n' \
+- | while read f; do
+- if [ -e "/var/lib/ceph/$daemon/$f/done" -o -e "/var/lib/ceph/$daemon/$f/ready" ] && [ -e "/var/lib/ceph/$daemon/$f/upstart" ] && [ ! -e "/var/lib/ceph/$daemon/$f/sysvinit" ]; then
+- cluster="${f%%-*}"
+- id="${f#*-}"
+-
+- initctl reload ceph-$daemon cluster="$cluster" id="$id" 2>/dev/null || :
+- fi
+- done