]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kstore: differentiate error code for better tracing
authorxie xingguo <xie.xingguo@zte.com.cn>
Wed, 13 Jan 2016 07:31:12 +0000 (15:31 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Wed, 13 Jan 2016 07:31:12 +0000 (15:31 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/kstore/KStore.cc

index 54f7aca477ad68acc3b695ee476724f7d10e2af5..18a89e5192decd632f41aa34ddd86bc0c2a9e267 100644 (file)
@@ -309,7 +309,7 @@ static int get_key_object(const string& key, ghobject_t *oid)
   p = _key_decode_u64(p, &pool);
   if (!p)
     return -3;
-  oid->hobj.pool = pool - 0x8000000000000000;
+  oid->hobj.pool = pool - 0x8000000000000000ull;
 
   unsigned hash;
   p = _key_decode_u32(p, &hash);
@@ -330,7 +330,7 @@ static int get_key_object(const string& key, ghobject_t *oid)
     ++p;
     r = decode_escaped(p, &oid->hobj.oid.name);
     if (r < 0)
-      return -8;
+      return -7;
     p += r + 1;
   } else if (*p == '<' || *p == '>') {
     // key + name
@@ -347,15 +347,15 @@ static int get_key_object(const string& key, ghobject_t *oid)
     oid->hobj.set_key(okey);
   } else {
     // malformed
-    return -7;
+    return -10;
   }
 
   p = _key_decode_u64(p, &oid->hobj.snap.val);
   if (!p)
-    return -10;
+    return -11;
   p = _key_decode_u64(p, &oid->generation);
   if (!p)
-    return -11;
+    return -12;
   return 0;
 }