[Pkg-ceph-commits] [ceph] 04/05: New "p1846.patch" to try harder to start all OSDs.

Dmitry Smirnov onlyjob at moszumanska.debian.org
Thu May 22 16:15:05 UTC 2014


This is an automated email from the git hooks/post-receive script.

onlyjob pushed a commit to branch master
in repository ceph.

commit f01ac40
Author: Dmitry Smirnov <onlyjob at member.fsf.org>
Date:   Thu May 22 15:55:38 2014

    New "p1846.patch" to try harder to start all OSDs.
---
 debian/patches/p1846.patch | 38 ++++++++++++++++++++++++++++++++++++++
 debian/patches/series      |  1 +
 2 files changed, 39 insertions(+)

diff --git a/debian/patches/p1846.patch b/debian/patches/p1846.patch
new file mode 100644
index 0000000..adf5fe2
--- /dev/null
+++ b/debian/patches/p1846.patch
@@ -0,0 +1,38 @@
+Last-update: 2014-05-20
+Origin: upstream, https://github.com/ceph/ceph/pull/1846/
+Bug-Ceph: http://tracker.ceph.com/issues/8342
+Author: Sage Weil <sage at inktank.com>
+Description:  [Fixes:#8342]
+ * init-ceph: continue loop immediately on daemon start failure
+   If we fail to start the daemon, skip the post_start and other steps.
+ * if we fail to set an OSD's crush position, continue
+   If we fail to set the CRUSH position for one OSD, continue on to try
+   starting others, just as we do when we fail to start the daemon.
+
+--- a/src/init-ceph.in
++++ b/src/init-ceph.in
+@@ -326,9 +326,13 @@
+ 		    osd_location=`$osd_location_hook --cluster ceph --id $id --type osd`
+ 		    get_conf osd_weight "" "osd crush initial weight"
+ 		    defaultweight="$(df -P -k $osd_data/. | tail -1 | awk '{ print sprintf("%.2f",$2/1073741824) }')"
+ 		    get_conf osd_keyring "$osd_data/keyring" "keyring"
+-		    do_cmd "timeout 30 $BINDIR/ceph -c $conf --name=osd.$id --keyring=$osd_keyring osd crush create-or-move -- $id ${osd_weight:-${defaultweight:-1}} $osd_location"
++		    do_cmd_okfail "timeout 30 $BINDIR/ceph -c $conf --name=osd.$id --keyring=$osd_keyring osd crush create-or-move -- $id ${osd_weight:-${defaultweight:-1}} $osd_location"
++		    if [ "$ERR" != "0" ]; then
++			EXIT_STATUS=$ERR
++			continue
++		    fi
+ 		fi
+ 	    fi
+ 
+ 	    echo Starting Ceph $name on $host...
+@@ -340,8 +344,9 @@
+ 	    [ -n "$pre_start" ] && do_cmd "$pre_start"
+ 	    do_cmd_okfail "$cmd" $runarg
+ 	    if [ "$ERR" != "0" ]; then
+ 		EXIT_STATUS=$ERR
++		continue
+ 	    fi
+ 
+ 	    if [ "$type" = "mon" ]; then
+ 		# this will only work if we are using default paths
diff --git a/debian/patches/series b/debian/patches/series
index 5692740..5b0a9db 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+p1846.patch
 ceph-ao-require-cas.patch
 
 ## Backported / Upstream

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ceph/ceph.git



More information about the Pkg-ceph-commits mailing list