From: Casey Bodley Date: Thu, 15 Feb 2024 19:59:54 +0000 (-0500) Subject: rgw: bucket list --uid redirects to account buckets X-Git-Tag: v20.0.0~2159^2~65 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5569f381c7917f7ef139e76559696a5b23c6bf32;p=ceph.git rgw: bucket list --uid redirects to account buckets Signed-off-by: Casey Bodley --- diff --git a/src/rgw/driver/rados/rgw_bucket.cc b/src/rgw/driver/rados/rgw_bucket.cc index d565a34f04fa..c51e61a2755d 100644 --- a/src/rgw/driver/rados/rgw_bucket.cc +++ b/src/rgw/driver/rados/rgw_bucket.cc @@ -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; }