From: Joao Eduardo Luis Date: Tue, 9 Oct 2012 20:25:54 +0000 (+0100) Subject: mon: Monitor: resolve keyring option to a file before loading keyring X-Git-Tag: v0.54~68 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7ef0df25e001bfae303feb3ae36514608767b1f2;p=ceph.git mon: Monitor: resolve keyring option to a file before loading keyring Otherwise our keyring default location, or any other similarly formatted location, will be taken as the actual location for the keyring and fail. Reported-by: tziOm (at) #ceph Fixes: 3276 Backport: argonaut Signed-off-by: Joao Eduardo Luis --- diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 57de1ca54ce..73280b0e878 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -2383,7 +2383,13 @@ int Monitor::mkfs(bufferlist& osdmapbl) } KeyRing keyring; - r = keyring.load(g_ceph_context, g_conf->keyring); + string keyring_filename; + if (!ceph_resolve_file_search(g_conf->keyring, keyring_filename)) { + derr << "unable to find a keyring file on " << g_conf->keyring << dendl; + return -ENOENT; + } + + r = keyring.load(g_ceph_context, keyring_filename); if (r < 0) { derr << "unable to load initial keyring " << g_conf->keyring << dendl; return r;