diff options
author | Sage Weil <sage@inktank.com> | 2013-10-07 05:22:20 -0700 |
---|---|---|
committer | Greg Farnum <greg@inktank.com> | 2013-10-07 13:15:12 -0700 |
commit | c38b484de4f4351926588ab6a111fcb89e3a56fd (patch) | |
tree | 5f1e66082467c00b33bda7647fb4835e2871f119 | |
parent | 02da1a1d79d97570f682ab84b289cdff0bc800d4 (diff) | |
download | ceph-c38b484de4f4351926588ab6a111fcb89e3a56fd.tar.gz |
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 <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
-rw-r--r-- | src/os/FileStore.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/os/FileStore.cc b/src/os/FileStore.cc index 514ff022bee..3506c4a4ccd 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<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; |