From: Sage Weil Date: Mon, 7 Oct 2013 12:22:20 +0000 (-0700) Subject: os/FileStore: fix ENOENT error code for getattrs() X-Git-Tag: v0.71~17 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6da4b91c07878e07f23eee563cf1d2422f348c2f;p=ceph.git os/FileStore: fix ENOENT error code for getattrs() 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 Reviewed-by: Greg Farnum Reviewed-by: Samuel Just --- diff --git a/src/os/FileStore.cc b/src/os/FileStore.cc index 514ff022bee2..3506c4a4ccd4 100644 --- a/src/os/FileStore.cc +++ b/src/os/FileStore.cc @@ -3464,6 +3464,8 @@ int FileStore::getattrs(coll_t cid, const ghobject_t& oid, map 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::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;