]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/sal: get_placement_target_names() returns void 53505/head
authorCasey Bodley <cbodley@redhat.com>
Mon, 18 Sep 2023 15:15:02 +0000 (11:15 -0400)
committerCasey Bodley <cbodley@redhat.com>
Mon, 18 Sep 2023 15:15:04 +0000 (11:15 -0400)
the function returned an integer error code, but two callers were
incorrectly testing the return value as a boolean

the function just returns placement ids that are in-memory, so none of
the drivers have a failure case; change the return value to void

Fixes: https://tracker.ceph.com/issues/62771
Signed-off-by: Casey Bodley <cbodley@redhat.com>
12 files changed:
src/rgw/driver/daos/rgw_sal_daos.cc
src/rgw/driver/daos/rgw_sal_daos.h
src/rgw/driver/motr/rgw_sal_motr.cc
src/rgw/driver/motr/rgw_sal_motr.h
src/rgw/driver/rados/rgw_sal_rados.cc
src/rgw/driver/rados/rgw_sal_rados.h
src/rgw/rgw_op.cc
src/rgw/rgw_rest_swift.cc
src/rgw/rgw_sal.h
src/rgw/rgw_sal_dbstore.cc
src/rgw/rgw_sal_dbstore.h
src/rgw/rgw_sal_filter.h

index a8663805d828586486acd5d42969d4dff296a36d..862eb86315cfd81bbc90865befc3a614d7190cde 100644 (file)
@@ -826,13 +826,11 @@ bool DaosZoneGroup::placement_target_exists(std::string& target) const {
   return !!group.placement_targets.count(target);
 }
 
-int DaosZoneGroup::get_placement_target_names(
+void DaosZoneGroup::get_placement_target_names(
     std::set<std::string>& names) const {
   for (const auto& target : group.placement_targets) {
     names.emplace(target.second.name);
   }
-
-  return 0;
 }
 
 int DaosZoneGroup::get_placement_tier(const rgw_placement_rule& rule,
index ac7352191f23cc613a664ac1b441b85b1ae51ede..3a8f34ce91c9a4a11bfe0f3066ee3354c0befd31 100644 (file)
@@ -414,7 +414,7 @@ class DaosZoneGroup : public StoreZoneGroup {
   virtual const std::string& get_api_name() const override {
     return group.api_name;
   };
-  virtual int get_placement_target_names(
+  virtual void get_placement_target_names(
       std::set<std::string>& names) const override;
   virtual const std::string& get_default_placement_name() const override {
     return group.default_placement.name;
index a1bca8b5696d7b210d78a3210aa602fae94662e1..b951d0080e4decb2776c52e4810e902f249fdc16 100644 (file)
@@ -1086,13 +1086,11 @@ bool MotrZoneGroup::placement_target_exists(std::string& target) const
   return !!group.placement_targets.count(target);
 }
 
-int MotrZoneGroup::get_placement_target_names(std::set<std::string>& names) const
+void MotrZoneGroup::get_placement_target_names(std::set<std::string>& names) const
 {
   for (const auto& target : group.placement_targets) {
     names.emplace(target.second.name);
   }
-
-  return 0;
 }
 
 int MotrZoneGroup::get_placement_tier(const rgw_placement_rule& rule,
index 153ac8abd005a526144e84b31d912975ce61ae67..a14f8e30f8ba6b8b6d6593adf10eb88bba246eb4 100644 (file)
@@ -446,7 +446,7 @@ public:
     return group.is_master_zonegroup();
   };
   virtual const std::string& get_api_name() const override { return group.api_name; };
-  virtual int get_placement_target_names(std::set<std::string>& names) const override;
+  virtual void get_placement_target_names(std::set<std::string>& names) const override;
   virtual const std::string& get_default_placement_name() const override {
     return group.default_placement.name; };
   virtual int get_hostnames(std::list<std::string>& names) const override {
index 01f642a3870259502694b6f91ffc248f3531cd57..ebac3bb8cf9ba474edb5125fcc066b9ff7f3c9f2 100644 (file)
@@ -3192,13 +3192,11 @@ bool RadosZoneGroup::placement_target_exists(std::string& target) const
   return !!group.placement_targets.count(target);
 }
 
-int RadosZoneGroup::get_placement_target_names(std::set<std::string>& names) const
+void RadosZoneGroup::get_placement_target_names(std::set<std::string>& names) const
 {
   for (const auto& target : group.placement_targets) {
     names.emplace(target.second.name);
   }
-
-  return 0;
 }
 
 int RadosZoneGroup::get_placement_tier(const rgw_placement_rule& rule,
index cdb4ad95e21db6de3ebd05c51544e47043e625e9..c84a18ee45f3de1e175e10b61bebf9ba5f16260b 100644 (file)
@@ -62,7 +62,7 @@ public:
     return group.is_master_zonegroup();
   };
   virtual const std::string& get_api_name() const override { return group.api_name; };
-  virtual int get_placement_target_names(std::set<std::string>& names) const override;
+  virtual void get_placement_target_names(std::set<std::string>& names) const override;
   virtual const std::string& get_default_placement_name() const override {
     return group.default_placement.name; };
   virtual int get_hostnames(std::list<std::string>& names) const override {
index 5afc4a72a0ae0659aa035d33beaabb249ce4238b..5de07969deb21add62a1b6bed0019011db8576e7 100644 (file)
@@ -2527,10 +2527,9 @@ void RGWListBuckets::execute(optional_yield y)
      * isn't actually used in a given account. In such situation its usage
      * stats would be simply full of zeros. */
     std::set<std::string> targets;
-    if (driver->get_zone()->get_zonegroup().get_placement_target_names(targets)) {
-      for (const auto& policy : targets) {
-       policies_stats.emplace(policy, decltype(policies_stats)::mapped_type());
-      }
+    driver->get_zone()->get_zonegroup().get_placement_target_names(targets);
+    for (const auto& policy : targets) {
+      policies_stats.emplace(policy, decltype(policies_stats)::mapped_type());
     }
 
     std::map<std::string, std::unique_ptr<rgw::sal::Bucket>>& m = buckets.get_buckets();
index 353520b52d80ffc6ac94d0928ec99d3486af8dca..ba2099f38ad2d76f59b3e0a8e170f3bfa4703192 100644 (file)
@@ -1908,14 +1908,13 @@ void RGWInfo_ObjStore_SWIFT::list_swift_data(Formatter& formatter,
   const rgw::sal::ZoneGroup& zonegroup = driver->get_zone()->get_zonegroup();
 
   std::set<std::string> targets;
-  if (zonegroup.get_placement_target_names(targets)) {
-    for (const auto& placement_targets : targets) {
-      formatter.open_object_section("policy");
-      if (placement_targets.compare(zonegroup.get_default_placement_name()) == 0)
-       formatter.dump_bool("default", true);
-      formatter.dump_string("name", placement_targets.c_str());
-      formatter.close_section();
-    }
+  zonegroup.get_placement_target_names(targets);
+  for (const auto& placement_targets : targets) {
+    formatter.open_object_section("policy");
+    if (placement_targets.compare(zonegroup.get_default_placement_name()) == 0)
+      formatter.dump_bool("default", true);
+    formatter.dump_string("name", placement_targets.c_str());
+    formatter.close_section();
   }
   formatter.close_section();
 
index 3c33a6d51e17212eb34a6c0dc743c90c531e4dce..253d36cb3b28c3237fcb75d0673ab1de7b018592 100644 (file)
@@ -1477,7 +1477,7 @@ public:
   /** Get the API name of this zonegroup */
   virtual const std::string& get_api_name() const = 0;
   /** Get the list of placement target names for this zone */
-  virtual int get_placement_target_names(std::set<std::string>& names) const = 0;
+  virtual void get_placement_target_names(std::set<std::string>& names) const = 0;
   /** Get the name of the default placement target for this zone */
   virtual const std::string& get_default_placement_name() const = 0;
   /** Get the list of hostnames from this zone */
index 80a619f122c19567a218719d4c94862b40dbd3ee..143830fda51a4a82c2a1afa316d98dfff81f39af 100644 (file)
@@ -525,12 +525,10 @@ namespace rgw::sal {
     return !!group->placement_targets.count(target);
   }
 
-  int DBZoneGroup::get_placement_target_names(std::set<std::string>& names) const {
+  void DBZoneGroup::get_placement_target_names(std::set<std::string>& names) const {
     for (const auto& target : group->placement_targets) {
       names.emplace(target.second.name);
     }
-
-    return 0;
   }
 
   ZoneGroup& DBZone::get_zonegroup()
index 2c84f709872132cdcecbafd088c64d129cebe430..a6e140380e5cb2944ef4b79e4d04c6809e471e07 100644 (file)
@@ -270,7 +270,7 @@ protected:
       return group->is_master_zonegroup();
     };
     virtual const std::string& get_api_name() const override { return group->api_name; };
-    virtual int get_placement_target_names(std::set<std::string>& names) const override;
+    virtual void get_placement_target_names(std::set<std::string>& names) const override;
     virtual const std::string& get_default_placement_name() const override {
       return group->default_placement.name; };
     virtual int get_hostnames(std::list<std::string>& names) const override {
index f9ceff7f1a3848fac12efe783bf50bb5edac9cea..9776cd5c228d0f32bb6099730969a5a20f41b8ac 100644 (file)
@@ -58,8 +58,8 @@ public:
     { return next->is_master_zonegroup(); }
   virtual const std::string& get_api_name() const override
     { return next->get_api_name(); }
-  virtual int get_placement_target_names(std::set<std::string>& names) const override
-    { return next->get_placement_target_names(names); }
+  virtual void get_placement_target_names(std::set<std::string>& names) const override
+    { next->get_placement_target_names(names); }
   virtual const std::string& get_default_placement_name() const override
     { return next->get_default_placement_name(); }
   virtual int get_hostnames(std::list<std::string>& names) const override