From: renhwztetecs Date: Tue, 26 Jan 2016 01:51:16 +0000 (+0800) Subject: mon: fix locking in preinit error paths X-Git-Tag: v10.0.4~174^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F7353%2Fhead;p=ceph.git mon: fix locking in preinit error paths fix locking in preinit error paths Fixes: #14473 Signed-off-by: huanwen ren --- diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index e54e55e76e44..0ae8e1706970 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -550,6 +550,7 @@ int Monitor::preinit() int r = sanitize_options(); if (r < 0) { derr << "option sanitization failed!" << dendl; + lock.Unlock(); return r; } @@ -639,6 +640,7 @@ int Monitor::preinit() << "'mon_force_quorum_join' is set -- allowing boot" << dendl; } else { derr << "commit suicide!" << dendl; + lock.Unlock(); return -ENOENT; } }