]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: avoid comparing object key and name twice 11274/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Fri, 30 Sep 2016 06:53:28 +0000 (14:53 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Fri, 30 Sep 2016 06:57:53 +0000 (14:57 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc

index 79986fd34afdb2773cf614c0a723149ea970c6c5..b54d9b47ba9c956bfe0b09fd32b83de5937577e9 100644 (file)
@@ -276,11 +276,9 @@ static void get_object_key(const ghobject_t& oid, string *key)
     // is a key... could be < = or >.
     append_escaped(oid.hobj.get_key(), key);
     // (ASCII chars < = and > sort in that order, yay)
-    if (oid.hobj.get_key() < oid.hobj.oid.name) {
-      key->append("<");
-      append_escaped(oid.hobj.oid.name, key);
-    } else if (oid.hobj.get_key() > oid.hobj.oid.name) {
-      key->append(">");
+    int r = oid.hobj.get_key().compare(oid.hobj.oid.name);
+    if (r) {
+      key->append(r > 0 ? ">" : "<");
       append_escaped(oid.hobj.oid.name, key);
     } else {
       // same as no key