From dd8d081fa8b9e4a7030ab626b0a12f88cc6bcb17 Mon Sep 17 00:00:00 2001 From: Yuval Lifshitz Date: Sun, 10 Jul 2022 11:50:33 +0300 Subject: [PATCH] rgw: fix the "empty" interface for sal Bucket and Object the interface was originaly added in: 9c07fe8f56657428525cd78d380140ca20e786fc Signed-off-by: Yuval Lifshitz --- src/rgw/rgw_process.cc | 6 +++--- src/rgw/rgw_sal.h | 10 +++++----- src/rgw/rgw_sal_filter.h | 2 +- src/rgw/rgw_sal_store.h | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/rgw/rgw_process.cc b/src/rgw/rgw_process.cc index a05903bc4c2da..5f6bda5d228a2 100644 --- a/src/rgw/rgw_process.cc +++ b/src/rgw/rgw_process.cc @@ -404,13 +404,13 @@ done: if (op) { if (s->trace) { s->trace->SetAttribute(tracing::rgw::RETURN, op->get_ret()); - if (s->user) { + if (!rgw::sal::User::empty(s->user)) { s->trace->SetAttribute(tracing::rgw::USER_ID, s->user->get_id().id); } - if (s->bucket) { + if (!rgw::sal::Bucket::empty(s->bucket)) { s->trace->SetAttribute(tracing::rgw::BUCKET_NAME, s->bucket->get_name()); } - if (s->object) { + if (!rgw::sal::Object::empty(s->object)) { s->trace->SetAttribute(tracing::rgw::OBJECT_NAME, s->object->get_name()); } } diff --git a/src/rgw/rgw_sal.h b/src/rgw/rgw_sal.h index 90ccdc165eb08..b6904c766e9d9 100644 --- a/src/rgw/rgw_sal.h +++ b/src/rgw/rgw_sal.h @@ -521,11 +521,11 @@ class User { /** Set the cached attributes fro this User */ virtual void set_attrs(Attrs& _attrs) = 0; /** Check if a User is empty */ - virtual bool empty() = 0; + virtual bool empty() const = 0; /** Check if a User pointer is empty */ - static bool empty(User* u) { return (!u || u->empty()); } + static bool empty(const User* u) { return (!u || u->empty()); } /** Check if a User unique_pointer is empty */ - static bool empty(std::unique_ptr& u) { return (!u || u->empty()); } + static bool empty(const std::unique_ptr& u) { return (!u || u->empty()); } /** Read the User attributes from the backing Store */ virtual int read_attrs(const DoutPrefixProvider* dpp, optional_yield y) = 0; /** Set the attributes in attrs, leaving any other existing attrs set, and @@ -1080,9 +1080,9 @@ class Object { bool must_exist, optional_yield y) = 0; /** Check to see if the given object pointer is uninitialized */ - static bool empty(Object* o) { return (!o || o->empty()); } + static bool empty(const Object* o) { return (!o || o->empty()); } /** Check to see if the given object unique pointer is uninitialized */ - static bool empty(std::unique_ptr o) { return (!o || o->empty()); } + static bool empty(const std::unique_ptr& o) { return (!o || o->empty()); } /** Get a unique copy of this object */ virtual std::unique_ptr clone() = 0; diff --git a/src/rgw/rgw_sal_filter.h b/src/rgw/rgw_sal_filter.h index 88e92a356a8ec..01e347a8d021d 100644 --- a/src/rgw/rgw_sal_filter.h +++ b/src/rgw/rgw_sal_filter.h @@ -347,7 +347,7 @@ public: } virtual Attrs& get_attrs() override { return next->get_attrs(); } virtual void set_attrs(Attrs& _attrs) override { next->set_attrs(_attrs); } - virtual bool empty() override { return next->empty(); } + virtual bool empty() const override { return next->empty(); } virtual int read_attrs(const DoutPrefixProvider* dpp, optional_yield y) override; virtual int merge_and_store_attrs(const DoutPrefixProvider* dpp, Attrs& new_attrs, optional_yield y) override; diff --git a/src/rgw/rgw_sal_store.h b/src/rgw/rgw_sal_store.h index 214c83fe9c7e3..fbdb2d9815b7a 100644 --- a/src/rgw/rgw_sal_store.h +++ b/src/rgw/rgw_sal_store.h @@ -55,7 +55,7 @@ class StoreUser : public User { virtual RGWObjVersionTracker& get_version_tracker() override { return objv_tracker; } virtual Attrs& get_attrs() override { return attrs; } virtual void set_attrs(Attrs& _attrs) override { attrs = _attrs; } - virtual bool empty() override { return info.user_id.id.empty(); } + virtual bool empty() const override { return info.user_id.id.empty(); } virtual RGWUserInfo& get_info() override { return info; } virtual void print(std::ostream& out) const override { out << info.user_id; } -- 2.39.5