]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/Newstore:Change assert in get_onode
authorXiaoxi Chen <xiaoxi.chen@intel.com>
Wed, 8 Apr 2015 16:13:10 +0000 (00:13 +0800)
committerSage Weil <sage@redhat.com>
Tue, 1 Sep 2015 17:39:36 +0000 (13:39 -0400)
db->get will return negtive when key is not found.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
src/os/newstore/NewStore.cc

index 9d8a2d6859afa1f137447a26c45feaaf9716808f..a84e38a5caf003a27fae674bf29751af38b2534b 100644 (file)
@@ -537,8 +537,8 @@ NewStore::OnodeRef NewStore::Collection::get_onode(
   int r = store->db->get(PREFIX_OBJ, key, &v);
   dout(20) << " r " << r << " v.len " << v.length() << dendl;
   Onode *on;
-  assert(r >= 0);
   if (v.length() == 0) {
+    assert(r == -ENOENT);
     if (!create)
       return OnodeRef();
 
@@ -547,6 +547,7 @@ NewStore::OnodeRef NewStore::Collection::get_onode(
     on->dirty = true;
   } else {
     // loaded
+    assert(r >=0);
     on = new Onode(oid, key);
     bufferlist::iterator p = v.begin();
     ::decode(on->onode, p);