From fc860a367bc59d4c70e7e80f021235864c5da08b Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Fri, 2 Nov 2018 19:36:44 -0700 Subject: [PATCH] rgw: sysobj_core: filter sysobj attrs Signed-off-by: Yehuda Sadeh --- src/rgw/services/svc_sys_obj_core.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rgw/services/svc_sys_obj_core.cc b/src/rgw/services/svc_sys_obj_core.cc index f57337b09a7..e2c8514c26d 100644 --- a/src/rgw/services/svc_sys_obj_core.cc +++ b/src/rgw/services/svc_sys_obj_core.cc @@ -203,8 +203,10 @@ int RGWSI_SysObj_Core::read(RGWSysObjectCtxBase& obj_ctx, ldout(cct, 20) << "rados->read ofs=" << ofs << " len=" << len << dendl; op.read(ofs, len, bl, nullptr); + map unfiltered_attrset; + if (attrs) { - op.getxattrs(attrs, nullptr); + op.getxattrs(&unfiltered_attrset, nullptr); } RGWSI_RADOS::Obj rados_obj; @@ -228,6 +230,10 @@ int RGWSI_SysObj_Core::read(RGWSysObjectCtxBase& obj_ctx, return -ECANCELED; } + if (attrs) { + rgw_filter_attrset(unfiltered_attrset, RGW_ATTR_PREFIX, attrs); + } + read_state.last_ver = op_ver; return bl->length(); -- 2.39.5