From 769f47321d26b401a75f856be83bccf201f21d5d Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 27 Oct 2012 15:05:59 -0700 Subject: [PATCH] os/FileStore: use _fgetattrs() for GETATTRS op Signed-off-by: Sage Weil --- src/os/FileStore.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/os/FileStore.cc b/src/os/FileStore.cc index 9f354507e0c41..9013e08fb9478 100644 --- a/src/os/FileStore.cc +++ b/src/os/FileStore.cc @@ -3888,7 +3888,14 @@ int FileStore::getattr(coll_t cid, const hobject_t& oid, const char *name, buffe int FileStore::getattrs(coll_t cid, const hobject_t& oid, map& aset, bool user_only) { dout(15) << "getattrs " << cid << "/" << oid << dendl; - int r = _getattrs(cid, oid, aset, user_only); + int r; + int fd = lfn_open(cid, oid, 0); + if (fd < 0) { + r = -errno; + goto out; + } + r = _fgetattrs(fd, aset, user_only); + TEMP_FAILURE_RETRY(::close(fd)); if (g_conf->filestore_xattr_use_omap) { set omap_attrs; map omap_aset; -- 2.39.5