]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: bucket list --uid redirects to account buckets
authorCasey Bodley <cbodley@redhat.com>
Thu, 15 Feb 2024 19:59:54 +0000 (14:59 -0500)
committerCasey Bodley <cbodley@redhat.com>
Wed, 10 Apr 2024 17:09:16 +0000 (13:09 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/driver/rados/rgw_bucket.cc

index d565a34f04fab3d9b2798372569e97166e1902f4..c51e61a2755dc2176544e110d405e478bb1d6d8d 100644 (file)
@@ -1537,8 +1537,21 @@ int RGWBucketAdminOp::info(rgw::sal::Driver* driver,
     }
   } else if (op_state.is_user_op()) {
     const rgw_user& uid = op_state.get_user_id();
-    ret = list_owner_bucket_info(dpp, y, driver, uid, uid.tenant,
-                                 op_state.marker, show_stats, flusher);
+    auto user = driver->get_user(uid);
+    ret = user->load_user(dpp, y);
+    if (ret < 0) {
+      return ret;
+    }
+    const RGWUserInfo& info = user->get_info();
+    if (!info.account_id.empty()) {
+      ldpp_dout(dpp, 1) << "Listing buckets in user account "
+          << info.account_id << dendl;
+      ret = list_owner_bucket_info(dpp, y, driver, info.account_id, uid.tenant,
+                                   op_state.marker, show_stats, flusher);
+    } else {
+      ret = list_owner_bucket_info(dpp, y, driver, uid, uid.tenant,
+                                   op_state.marker, show_stats, flusher);
+    }
     if (ret < 0) {
       return ret;
     }