From adb274c63151e0674302b79c80d5346effd70e06 Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Fri, 30 Sep 2016 14:53:28 +0800 Subject: [PATCH] os/bluestore: avoid comparing object key and name twice Signed-off-by: xie xingguo --- src/os/bluestore/BlueStore.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 79986fd34af..b54d9b47ba9 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -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 -- 2.47.3