]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/FileStore: fix ENOENT error code for getattrs()
authorSage Weil <sage@inktank.com>
Mon, 7 Oct 2013 12:22:20 +0000 (05:22 -0700)
committerGreg Farnum <greg@inktank.com>
Mon, 7 Oct 2013 20:50:08 +0000 (13:50 -0700)
In commit dc0dfb9e01d593afdd430ca776cf4da2c2240a20 the omap xattrs code
moved up a block and r was no longer local to the block.  Translate
ENOENT -> 0 to compensate.

Fix the same error in _rmattrs().

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
src/os/FileStore.cc

index 514ff022bee27225006727e03d5e6004e5b6d685..3506c4a4ccd47e0d407a99bcb2cc496e8bc6ee05 100644 (file)
@@ -3464,6 +3464,8 @@ int FileStore::getattrs(coll_t cid, const ghobject_t& oid, map<string,bufferptr>
     dout(10) << __func__ << " could not get omap_attrs r = " << r << dendl;
     goto out;
   }
+  if (r == -ENOENT)
+    r = 0;
   assert(omap_attrs.size() == omap_aset.size());
   for (map<string, bufferlist>::iterator i = omap_aset.begin();
         i != omap_aset.end();
@@ -3651,6 +3653,8 @@ int FileStore::_rmattrs(coll_t cid, const ghobject_t& oid,
     dout(10) << __func__ << " could not remove omap_attrs r = " << r << dendl;
     return r;
   }
+  if (r == -ENOENT)
+    r = 0;
  out:
   dout(10) << "rmattrs " << cid << "/" << oid << " = " << r << dendl;
   return r;