]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
keyring_init: don't print error when explicit key/keyfile is specified
authorSage Weil <sage.weil@dreamhost.com>
Sun, 20 Feb 2011 21:54:20 +0000 (13:54 -0800)
committerSage Weil <sage.weil@dreamhost.com>
Sun, 20 Feb 2011 21:54:20 +0000 (13:54 -0800)
e.g. when I am non-root and specify a key explicitly, no need to complain
about not being able to read root's /etc/ceph/keyring.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/common/common_init.cc

index 1fc60085548efe8a1caeb1ed3a54b7d10918aa03..bf4d8328b299fc69c5d188b6d16fb988c78f61e9 100644 (file)
@@ -72,16 +72,14 @@ static void keyring_init(const char *filesearch)
   }
 
   int ret = g_keyring.load(filename);
-  if (ret) {
-    derr << "keyring_init: failed to load " << filename << dendl;
-    return;
-  }
 
   if (g_conf.key && g_conf.key[0]) {
     string k = g_conf.key;
     EntityAuth ea;
     ea.key.decode_base64(k);
     g_keyring.add(*g_conf.entity_name, ea);
+
+    ret = 0;
   } else if (g_conf.keyfile && g_conf.keyfile[0]) {
     char buf[100];
     int fd = ::open(g_conf.keyfile, O_RDONLY);
@@ -106,6 +104,13 @@ static void keyring_init(const char *filesearch)
     EntityAuth ea;
     ea.key.decode_base64(k);
     g_keyring.add(*g_conf.entity_name, ea);
+
+    ret = 0;
+  }
+
+  if (ret) {
+    derr << "keyring_init: failed to load " << filename << dendl;
+    return;
   }
 }