From 81e6b620269e00eab4988c7f37e8fea39918f91f Mon Sep 17 00:00:00 2001 From: Mark Kogan Date: Mon, 9 Dec 2024 16:23:43 +0000 Subject: [PATCH] rgw/d4n: fix output of binary data to text log and logs cleanup the RGW_ATTR_ACL attr logging requires special handling Signed-off-by: Mark Kogan --- src/rgw/driver/d4n/d4n_policy.cc | 2 +- src/rgw/rgw_ssd_driver.cc | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/rgw/driver/d4n/d4n_policy.cc b/src/rgw/driver/d4n/d4n_policy.cc index 4928b74e328..0bce11753d9 100644 --- a/src/rgw/driver/d4n/d4n_policy.cc +++ b/src/rgw/driver/d4n/d4n_policy.cc @@ -859,7 +859,7 @@ void LFUDAPolicy::cleaning(const DoutPrefixProvider* dpp) } rgw::d4n::CacheBlock block; block.cacheObj.bucketName = c_obj->get_bucket()->get_bucket_id(); - std::cout << "bucket name: " << block.cacheObj.bucketName << std::endl; + ldpp_dout(dpp, 20) << __func__ << "(): bucket name: " << block.cacheObj.bucketName << dendl; block.cacheObj.objName = c_obj->get_name(); block.size = 0; block.blockID = 0; diff --git a/src/rgw/rgw_ssd_driver.cc b/src/rgw/rgw_ssd_driver.cc index 3a3d024cd55..03b50bd40b2 100644 --- a/src/rgw/rgw_ssd_driver.cc +++ b/src/rgw/rgw_ssd_driver.cc @@ -967,7 +967,30 @@ int SSDDriver::set_attr(const DoutPrefixProvider* dpp, const std::string& key, c ldpp_dout(dpp, 20) << "SSDCache: " << __func__ << "(): location=" << location << dendl; - ldpp_dout(dpp, 20) << "SSDCache: " << __func__ << "(): set_attr: key: " << attr_name << " val: " << attr_val << dendl; + if (attr_name == RGW_ATTR_ACL) { + if (dpp->get_cct()->_conf->subsys.should_gather(ceph_subsys_rgw, 20)) { + std::string policy_json; + RGWAccessControlPolicy policy; + bufferlist bl; + bl.append(attr_val); + auto bliter = bl.cbegin(); + try { + policy.decode(bliter); + Formatter *f = Formatter::create("json"); + policy.dump(f); + std::stringstream ss; + f->flush(ss); + policy_json = ss.str(); + delete f; + } catch (buffer::error& err) { + ldpp_dout(dpp, 0) << "ERROR: decode policy failed" << err.what() << dendl; + policy_json = "ERROR: decode policy failed"; + } + ldpp_dout(dpp, 20) << "SSDCache: " << __func__ << "(): set_attr: key: " << attr_name << " val: " << policy_json << dendl; + } + } else { + ldpp_dout(dpp, 20) << "SSDCache: " << __func__ << "(): set_attr: key: " << attr_name << " val: " << attr_val << dendl; + } auto ret = setxattr(location.c_str(), attr_name.c_str(), attr_val.c_str(), attr_val.size(), 0); if (ret < 0) { -- 2.39.5