]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
RGW Zipper - Permenant User storage API 40967/head
authorDaniel Gryniewicz <dang@redhat.com>
Wed, 31 Mar 2021 13:42:13 +0000 (09:42 -0400)
committerDaniel Gryniewicz <dang@redhat.com>
Thu, 29 Apr 2021 16:56:35 +0000 (12:56 -0400)
The load/store/remove APIs for User are needed, so make them consistent
and permenant.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
19 files changed:
src/rgw/librgw.cc
src/rgw/rgw_acl_s3.cc
src/rgw/rgw_acl_swift.cc
src/rgw/rgw_auth.cc
src/rgw/rgw_auth_filters.h
src/rgw/rgw_bucket.cc
src/rgw/rgw_file.h
src/rgw/rgw_frontend.h
src/rgw/rgw_op.cc
src/rgw/rgw_rest_s3.cc
src/rgw/rgw_rest_swift.cc
src/rgw/rgw_rest_user_policy.cc
src/rgw/rgw_sal.h
src/rgw/rgw_sal_rados.cc
src/rgw/rgw_sal_rados.h
src/rgw/rgw_sts.cc
src/rgw/rgw_swift_auth.cc
src/rgw/rgw_user.cc
src/test/rgw/test_rgw_lua.cc

index e98aaf93a33633134b13a3b7fb8586b68305c52f..94281b272c18a2751d8863620580c13a05c03a5f 100644 (file)
@@ -682,7 +682,7 @@ namespace rgw {
     const DoutPrefix dp(store->ctx(), dout_subsys, "librgw: ");
     std::unique_ptr<rgw::sal::User> user = store->get_user(uid);
     /* object exists, but policy is broken */
-    int ret = user->load_by_id(&dp, null_yield);
+    int ret = user->load_user(&dp, null_yield);
     if (ret < 0) {
       derr << "ERROR: failed reading user info: uid=" << uid << " ret="
           << ret << dendl;
index ab20601455e8cebce65600082bb8f280c6eae72e..da8a31ead3cb92aff2b38ecb7e5d321f855beb9b 100644 (file)
@@ -313,7 +313,7 @@ static int parse_grantee_str(const DoutPrefixProvider *dpp, rgw::sal::Store* sto
     grant.set_canon(user->get_id(), user->get_display_name(), rgw_perm);
   } else if (strcasecmp(id_type.c_str(), "id") == 0) {
     std::unique_ptr<rgw::sal::User> user = store->get_user(rgw_user(id_val));
-    ret = user->load_by_id(dpp, null_yield);
+    ret = user->load_user(dpp, null_yield);
     if (ret < 0)
       return ret;
 
@@ -492,7 +492,7 @@ int RGWAccessControlPolicy_S3::rebuild(const DoutPrefixProvider *dpp,
   }
 
   std::unique_ptr<rgw::sal::User> user = store->get_user(owner->get_id());
-  if (user->load_by_id(dpp, null_yield) < 0) {
+  if (user->load_user(dpp, null_yield) < 0) {
     ldout(cct, 10) << "owner info does not exist" << dendl;
     err_msg = "Invalid id";
     return -EINVAL;
@@ -546,7 +546,7 @@ int RGWAccessControlPolicy_S3::rebuild(const DoutPrefixProvider *dpp,
     
         if (grant_user.user_id.empty()) {
          user = store->get_user(uid);
-         if (user->load_by_id(dpp, null_yield) < 0) {
+         if (user->load_user(dpp, null_yield) < 0) {
            ldout(cct, 10) << "grant user does not exist:" << uid << dendl;
            err_msg = "Invalid id";
            return -EINVAL;
index d93a71e6a389769104b5f5e2f15c1074f7d4c33f..fcc6a3a65fd7f8667050cde0a93223330f995f4f 100644 (file)
@@ -123,7 +123,7 @@ static ACLGrant user_to_grant(const DoutPrefixProvider *dpp,
   std::unique_ptr<rgw::sal::User> user;
 
   user = store->get_user(rgw_user(uid));
-  if (user->load_by_id(dpp, null_yield) < 0) {
+  if (user->load_user(dpp, null_yield) < 0) {
     ldout(cct, 10) << "grant user does not exist: " << uid << dendl;
     /* skipping silently */
     grant.set_canon(user->get_id(), std::string(), perm);
@@ -316,7 +316,7 @@ void RGWAccessControlPolicy_SWIFTAcct::add_grants(const DoutPrefixProvider *dpp,
     } else  {
       std::unique_ptr<rgw::sal::User> user = store->get_user(rgw_user(uid));
 
-      if (user->load_by_id(dpp, null_yield) < 0) {
+      if (user->load_user(dpp, null_yield) < 0) {
         ldout(cct, 10) << "grant user does not exist:" << uid << dendl;
         /* skipping silently */
         grant.set_canon(user->get_id(), std::string(), perm);
index 7b0f68f6a64857081b8e180ce2804f40489681ff..a0de33d88ab37abd5527b353a38eeb1c3efa9add 100644 (file)
@@ -376,7 +376,7 @@ void rgw::auth::WebIdentityApplier::create_account(const DoutPrefixProvider* dpp
   rgw_apply_default_bucket_quota(user->get_info().bucket_quota, cct->_conf);
   rgw_apply_default_user_quota(user->get_info().user_quota, cct->_conf);
 
-  int ret = user->store_info(dpp, null_yield, true);
+  int ret = user->store_user(dpp, null_yield, true);
   if (ret < 0) {
     ldpp_dout(dpp, 0) << "ERROR: failed to store new user info: user="
                   << user << " ret=" << ret << dendl;
@@ -394,7 +394,7 @@ void rgw::auth::WebIdentityApplier::load_acct_info(const DoutPrefixProvider* dpp
   std::unique_ptr<rgw::sal::User> user = store->get_user(federated_user);
 
   //Check in oidc namespace
-  if (user->load_by_id(dpp, null_yield) >= 0) {
+  if (user->load_user(dpp, null_yield) >= 0) {
     /* Succeeded. */
     user_info = user->get_info();
     return;
@@ -402,7 +402,7 @@ void rgw::auth::WebIdentityApplier::load_acct_info(const DoutPrefixProvider* dpp
 
   user->clear_ns();
   //Check for old users which wouldn't have been created in oidc namespace
-  if (user->load_by_id(dpp, null_yield) >= 0) {
+  if (user->load_user(dpp, null_yield) >= 0) {
     /* Succeeded. */
     user_info = user->get_info();
     return;
@@ -602,7 +602,7 @@ void rgw::auth::RemoteApplier::create_account(const DoutPrefixProvider* dpp,
   rgw_apply_default_user_quota(user->get_info().user_quota, cct->_conf);
   user_info = user->get_info();
 
-  int ret = user->store_info(dpp, null_yield, true);
+  int ret = user->store_user(dpp, null_yield, true);
   if (ret < 0) {
     ldpp_dout(dpp, 0) << "ERROR: failed to store new user info: user="
                   << user << " ret=" << ret << dendl;
@@ -645,7 +645,7 @@ void rgw::auth::RemoteApplier::load_acct_info(const DoutPrefixProvider* dpp, RGW
     const rgw_user tenanted_uid(acct_user.id, acct_user.id);
     user = store->get_user(tenanted_uid);
 
-    if (user->load_by_id(dpp, null_yield) >= 0) {
+    if (user->load_user(dpp, null_yield) >= 0) {
       /* Succeeded. */
       user_info = user->get_info();
       return;
@@ -656,7 +656,7 @@ void rgw::auth::RemoteApplier::load_acct_info(const DoutPrefixProvider* dpp, RGW
 
   if (split_mode && implicit_tenant)
        ;       /* suppress lookup for id used by "other" protocol */
-  else if (user->load_by_id(dpp, null_yield) >= 0) {
+  else if (user->load_user(dpp, null_yield) >= 0) {
     /* Succeeded. */
     user_info = user->get_info();
     return;
index 607b39d5989b68d7c055ed045ddf4c46d16cfc76..be95219ac23dcbcd4743ae211683692c534d9033 100644 (file)
@@ -185,7 +185,7 @@ void ThirdPartyAccountApplier<T>::load_acct_info(const DoutPrefixProvider* dpp,
       const rgw_user tenanted_uid(acct_user_override.id, acct_user_override.id);
       user = store->get_user(tenanted_uid);
 
-      if (user->load_by_id(dpp, null_yield) >= 0) {
+      if (user->load_user(dpp, null_yield) >= 0) {
        user_info = user->get_info();
         /* Succeeded. */
         return;
@@ -193,7 +193,7 @@ void ThirdPartyAccountApplier<T>::load_acct_info(const DoutPrefixProvider* dpp,
     }
 
     user = store->get_user(acct_user_override);
-    const int ret = user->load_by_id(dpp, null_yield);
+    const int ret = user->load_user(dpp, null_yield);
     if (ret < 0) {
       /* We aren't trying to recover from ENOENT here. It's supposed that creating
        * someone else's account isn't a thing we want to support in this filter. */
@@ -263,7 +263,7 @@ void SysReqApplier<T>::load_acct_info(const DoutPrefixProvider* dpp, RGWUserInfo
        * reasons. rgw_get_user_info_by_uid doesn't trigger the operator=() but
        * calls ::decode instead. */
       std::unique_ptr<rgw::sal::User> user = store->get_user(effective_uid);
-      if (user->load_by_id(dpp, null_yield) < 0) {
+      if (user->load_user(dpp, null_yield) < 0) {
         //ldpp_dout(dpp, 0) << "User lookup failed!" << dendl;
         throw -EACCES;
       }
index 4dbeec2287d3b050dc15549d6adb43c5c8088839..4dd6e7973b03b8f68d1f7e45fdda72acd851b4aa 100644 (file)
@@ -487,7 +487,7 @@ int RGWBucket::init(rgw::sal::Store* _store, RGWBucketAdminOpState& op_state,
   op_state.set_bucket(bucket->clone());
 
   if (!rgw::sal::User::empty(user.get())) {
-    r = user->load_by_id(dpp, y);
+    r = user->load_user(dpp, y);
     if (r < 0) {
       set_err_msg(err_msg, "failed to fetch user info");
       return r;
index b4d6b65496e903f34b892f89f5f82b67c1cca7ae..ed9243b3dd618ce3d30c99843e5f04842709953f 100644 (file)
@@ -1004,8 +1004,8 @@ namespace rgw {
        }
        if (token.valid() && (ldh->auth(token.id, token.key) == 0)) {
          /* try to store user if it doesn't already exist */
-         if (user->load_by_id(dpp, null_yield) < 0) {
-           int ret = user->store_info(dpp, null_yield, true);
+         if (user->load_user(dpp, null_yield) < 0) {
+           int ret = user->store_user(dpp, null_yield, true);
            if (ret < 0) {
              lsubdout(get_context(), rgw, 10)
                << "NOTICE: failed to store new user's info: ret=" << ret
index c767a61318909716ce3a8329f06f5778d6c5bfb1..6ba1448c929f56eda8f549c8f2e9bc8f106f12cd 100644 (file)
@@ -249,7 +249,7 @@ public:
     rgw_user uid(uid_str);
     std::unique_ptr<rgw::sal::User> user = env.store->get_user(uid);
 
-    int ret = user->load_by_id(this, null_yield);
+    int ret = user->load_user(this, null_yield);
     if (ret < 0) {
       derr << "ERROR: failed reading user info: uid=" << uid << " ret="
           << ret << dendl;
index cc493a2c16c9a3925a1dd74100a724bcb35a9455..5d61c93678dd997b53b47621526b7e36d1f1b59e 100644 (file)
@@ -227,7 +227,7 @@ int rgw_op_get_bucket_policy_from_attr(const DoutPrefixProvider *dpp,
     ldpp_dout(dpp, 0) << "WARNING: couldn't find acl header for bucket, generating default" << dendl;
     std::unique_ptr<rgw::sal::User> user = store->get_user(bucket_info.owner);
     /* object exists, but policy is broken */
-    int r = user->load_by_id(dpp, y);
+    int r = user->load_user(dpp, y);
     if (r < 0)
       return r;
 
@@ -261,7 +261,7 @@ static int get_obj_policy_from_attr(const DoutPrefixProvider *dpp,
     /* object exists, but policy is broken */
     ldpp_dout(dpp, 0) << "WARNING: couldn't find acl header for object, generating default" << dendl;
     std::unique_ptr<rgw::sal::User> user = store->get_user(bucket_info.owner);
-    ret = user->load_by_id(dpp, y);
+    ret = user->load_user(dpp, y);
     if (ret < 0)
       return ret;
 
@@ -1298,7 +1298,7 @@ int RGWOp::init_quota()
   if (s->user->get_id() == s->bucket_owner.get_id()) {
     user = s->user.get();
   } else {
-    int r = owner_user->load_by_id(this, s->yield);
+    int r = owner_user->load_user(this, s->yield);
     if (r < 0)
       return r;
     user = owner_user.get();
@@ -4408,7 +4408,7 @@ int RGWPutMetadataAccount::verify_permission(optional_yield y)
 void RGWPutMetadataAccount::execute(optional_yield y)
 {
   /* Params have been extracted earlier. See init_processing(). */
-  op_ret = s->user->load_by_id(this, y);
+  op_ret = s->user->load_user(this, y);
   if (op_ret < 0) {
     return;
   }
@@ -4428,7 +4428,7 @@ void RGWPutMetadataAccount::execute(optional_yield y)
   /* We are passing here the current (old) user info to allow the function
    * optimize-out some operations. */
   s->user->set_attrs(attrs);
-  op_ret = s->user->store_info(this, y, false, &s->user->get_info());
+  op_ret = s->user->store_user(this, y, false, &s->user->get_info());
 }
 
 int RGWPutMetadataBucket::verify_permission(optional_yield y)
index f6c045881d81c82f6afcb620b67e21d5538b7c7c..0af5245d0a6b497058767eeb946cdd8b98cce8d1 100644 (file)
@@ -6042,7 +6042,7 @@ rgw::auth::s3::STSEngine::authenticate(
   user = store->get_user(token.user);
   if (! token.user.empty() && token.acct_type != TYPE_ROLE) {
     // get user info
-    int ret = user->load_by_id(dpp, y);
+    int ret = user->load_user(dpp, y);
     if (ret < 0) {
       ldpp_dout(dpp, 5) << "ERROR: failed reading user info: uid=" << token.user << dendl;
       return result_t::reject(-EPERM);
index 478695082d431c2e7e9066ada96348c59048a848..7cd72fbb5dd528aa8bfe4ae68a7e11e94bcc7ec7 100644 (file)
@@ -2083,7 +2083,7 @@ void RGWFormPost::get_owner_info(const req_state* const s,
       const rgw_user tenanted_uid(uid.id, uid.id);
       user = store->get_user(tenanted_uid);
 
-      if (user->load_by_id(s, s->yield) >= 0) {
+      if (user->load_user(s, s->yield) >= 0) {
         /* Succeeded. */
         found = true;
       }
@@ -2091,7 +2091,7 @@ void RGWFormPost::get_owner_info(const req_state* const s,
 
     if (!found) {
       user = store->get_user(uid);
-      if (user->load_by_id(s, s->yield) < 0) {
+      if (user->load_user(s, s->yield) < 0) {
        throw -EPERM;
       }
     }
@@ -2108,7 +2108,7 @@ void RGWFormPost::get_owner_info(const req_state* const s,
                  << dendl;
 
   user = store->get_user(bucket->get_info().owner);
-  if (user->load_by_id(s, s->yield) < 0) {
+  if (user->load_user(s, s->yield) < 0) {
     throw -EPERM;
   }
 
index eb55313da736705d7d8d5f25b68067519bf222c8..2428e94689d405fc1e9e77c82e40c124c6e213c6 100644 (file)
@@ -120,7 +120,7 @@ void RGWPutUserPolicy::execute(optional_yield y)
 
   std::unique_ptr<rgw::sal::User> user = store->get_user(rgw_user(user_name));
 
-  op_ret = user->load_by_id(s, s->yield);
+  op_ret = user->load_user(s, s->yield);
   if (op_ret < 0) {
     op_ret = -ERR_NO_SUCH_ENTITY;
     return;
@@ -151,7 +151,7 @@ void RGWPutUserPolicy::execute(optional_yield y)
     encode(policies, in_bl);
     user->get_attrs()[RGW_ATTR_USER_POLICY] = in_bl;
 
-    op_ret = user->store_info(s, s->yield, false);
+    op_ret = user->store_user(s, s->yield, false);
     if (op_ret < 0) {
       op_ret = -ERR_INTERNAL_ERROR;
     }
@@ -320,7 +320,7 @@ void RGWDeleteUserPolicy::execute(optional_yield y)
   }
 
   std::unique_ptr<rgw::sal::User> user = store->get_user(rgw_user(user_name));
-  op_ret = user->load_by_id(s, s->yield);
+  op_ret = user->load_user(s, s->yield);
   if (op_ret < 0) {
     op_ret = -ERR_NO_SUCH_ENTITY;
     return;
@@ -355,7 +355,7 @@ void RGWDeleteUserPolicy::execute(optional_yield y)
       encode(policies, in_bl);
       user->get_attrs()[RGW_ATTR_USER_POLICY] = in_bl;
 
-      op_ret = user->store_info(s, s->yield, false);
+      op_ret = user->store_user(s, s->yield, false);
       if (op_ret < 0) {
         op_ret = -ERR_INTERNAL_ERROR;
       }
index 1bc47c84ad3b905f887ee05b66eae7938b21c4c3..31261bb80991ed67662c0839dc69df10c582f2a9 100644 (file)
@@ -285,10 +285,9 @@ class User {
     virtual Attrs& get_attrs() { return attrs; }
     virtual void set_attrs(Attrs& _attrs) { attrs = _attrs; }
 
-    /* Placeholders */
-    virtual int load_by_id(const DoutPrefixProvider* dpp, optional_yield y) = 0;
-    virtual int store_info(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info = nullptr) = 0;
-    virtual int remove_info(const DoutPrefixProvider* dpp, optional_yield y, const RGWUserCtl::RemoveParams& params = {}) = 0;
+    virtual int load_user(const DoutPrefixProvider* dpp, optional_yield y) = 0;
+    virtual int store_user(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info = nullptr) = 0;
+    virtual int remove_user(const DoutPrefixProvider* dpp, optional_yield y) = 0;
 
     /* dang temporary; will be removed when User is complete */
     RGWUserInfo& get_info() { return info; }
index a8d0c15cc761bb4e8bd50d2faf82a77a14034bf8..a35a6d6ef76a79a28abd966aff0c1aad97c754e6 100644 (file)
@@ -82,7 +82,7 @@ static int rgw_op_get_bucket_policy_from_attr(const DoutPrefixProvider* dpp,
   } else {
     ldout(store->ctx(), 0) << "WARNING: couldn't find acl header for bucket, generating default" << dendl;
     /* object exists, but policy is broken */
-    int r = user.load_by_id(dpp, y);
+    int r = user.load_user(dpp, y);
     if (r < 0)
       return r;
 
@@ -188,12 +188,12 @@ int RadosUser::trim_usage(uint64_t start_epoch, uint64_t end_epoch)
   return store->getRados()->trim_usage(get_id(), bucket_name, start_epoch, end_epoch);
 }
 
-int RadosUser::load_by_id(const DoutPrefixProvider* dpp, optional_yield y)
+int RadosUser::load_user(const DoutPrefixProvider* dpp, optional_yield y)
 {
     return store->ctl()->user->get_info_by_uid(dpp, info.user_id, &info, y, RGWUserCtl::GetParams().set_objv_tracker(&objv_tracker));
 }
 
-int RadosUser::store_info(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info)
+int RadosUser::store_user(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info)
 {
     return store->ctl()->user->store_info(dpp, info, y,
                                          RGWUserCtl::PutParams().set_objv_tracker(&objv_tracker)
@@ -202,9 +202,10 @@ int RadosUser::store_info(const DoutPrefixProvider* dpp, optional_yield y, bool
                                          .set_old_info(old_info));
 }
 
-int RadosUser::remove_info(const DoutPrefixProvider* dpp, optional_yield y, const RGWUserCtl::RemoveParams& params)
+int RadosUser::remove_user(const DoutPrefixProvider* dpp, optional_yield y)
 {
-    return store->ctl()->user->remove_info(dpp, info, y, params);
+    return store->ctl()->user->remove_info(dpp, info, y,
+                                         RGWUserCtl::RemoveParams().set_objv_tracker(&objv_tracker));
 }
 
 /* Placeholder */
index 5f8f9219a0a516a5aca0378953a5baf903dd3937..69cd9c50b5ae9a2e382d9685b7fdd424acbddc65 100644 (file)
@@ -63,10 +63,9 @@ class RadosUser : public User {
                           map<rgw_user_bucket, rgw_usage_log_entry>& usage) override;
     virtual int trim_usage(uint64_t start_epoch, uint64_t end_epoch) override;
 
-    /* Placeholders */
-    virtual int load_by_id(const DoutPrefixProvider* dpp, optional_yield y) override;
-    virtual int store_info(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info = nullptr) override;
-    virtual int remove_info(const DoutPrefixProvider* dpp, optional_yield y, const RGWUserCtl::RemoveParams& params = {}) override;
+    virtual int load_user(const DoutPrefixProvider* dpp, optional_yield y) override;
+    virtual int store_user(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info = nullptr) override;
+    virtual int remove_user(const DoutPrefixProvider* dpp, optional_yield y) override;
 
     friend class RadosBucket;
 };
index bd0487724d7574c00afeaac8ee8a9edec86c9dac..4f58d8326f20079cb866b1150fc15ae205efc047 100644 (file)
@@ -316,13 +316,13 @@ int STSService::storeARN(const DoutPrefixProvider *dpp, string& arn, optional_yi
 {
   int ret = 0;
   std::unique_ptr<rgw::sal::User> user = store->get_user(user_id);
-  if ((ret = user->load_by_id(dpp, y)) < 0) {
+  if ((ret = user->load_user(dpp, y)) < 0) {
     return -ERR_NO_SUCH_ENTITY;
   }
 
   user->get_info().assumed_role_arn = arn;
 
-  ret = user->store_info(dpp, y, false, &user->get_info());
+  ret = user->store_user(dpp, y, false, &user->get_info());
   if (ret < 0) {
     return -ERR_INTERNAL_ERROR;
   }
index e1e7b84b1fe90a3301ce32ffa9719ff5ac3142f6..640c85fcdb0d99f4eab9c00e26c1485fff876990 100644 (file)
@@ -92,7 +92,7 @@ void TempURLEngine::get_owner_info(const DoutPrefixProvider* dpp, const req_stat
     if (uid.tenant.empty()) {
       rgw_user tenanted_uid(uid.id, uid.id);
       user = store->get_user(tenanted_uid);
-      if (user->load_by_id(dpp, s->yield) >= 0) {
+      if (user->load_user(dpp, s->yield) >= 0) {
        /* Succeeded */
        found = true;
       }
@@ -100,7 +100,7 @@ void TempURLEngine::get_owner_info(const DoutPrefixProvider* dpp, const req_stat
 
     if (!found) {
       user = store->get_user(uid);
-      if (user->load_by_id(dpp, s->yield) < 0) {
+      if (user->load_user(dpp, s->yield) < 0) {
        throw -EPERM;
       }
     }
@@ -122,7 +122,7 @@ void TempURLEngine::get_owner_info(const DoutPrefixProvider* dpp, const req_stat
 
   std::unique_ptr<rgw::sal::User> user;
   user = store->get_user(bucket->get_info().owner);
-  if (user->load_by_id(dpp, s->yield) < 0) {
+  if (user->load_user(dpp, s->yield) < 0) {
     throw -EPERM;
   }
 
index de71570f50351addf3264c4821267495f7e30c14..de539fd2f811b027099340b1ab4b90c4bf2c1323 100644 (file)
@@ -1491,7 +1491,7 @@ int RGWUser::init(const DoutPrefixProvider *dpp, RGWUserAdminOpState& op_state,
 
   if (!user_id.empty() && (user_id.compare(RGW_USER_ANON_ID) != 0)) {
     user = store->get_user(user_id);
-    found = (user->load_by_id(dpp, y) >= 0);
+    found = (user->load_user(dpp, y) >= 0);
     op_state.found_by_uid = found;
   }
   if (store->ctx()->_conf.get_val<bool>("rgw_user_unique_email")) {
@@ -1565,7 +1565,7 @@ int RGWUser::update(const DoutPrefixProvider *dpp, RGWUserAdminOpState& op_state
 
   RGWUserInfo *pold_info = (is_populated() ? &old_info : nullptr);
 
-  ret = user->store_info(dpp, y, false, pold_info);
+  ret = user->store_user(dpp, y, false, pold_info);
   op_state.objv = user->get_version_tracker();
   if (ret < 0) {
     set_err_msg(err_msg, "unable to store user info");
@@ -1664,7 +1664,7 @@ int RGWUser::execute_rename(const DoutPrefixProvider *dpp, RGWUserAdminOpState&
 
   const bool exclusive = !op_state.get_overwrite_new_user(); // overwrite if requested
 
-  ret = user->store_info(dpp, y, exclusive);
+  ret = user->store_user(dpp, y, exclusive);
   if (ret == -EEXIST) {
     set_err_msg(err_msg, "user name given by --new-uid already exists");
     return ret;
@@ -1947,7 +1947,7 @@ int RGWUser::execute_remove(const DoutPrefixProvider *dpp, RGWUserAdminOpState&
 
   } while (buckets.is_truncated());
 
-  ret = user->remove_info(dpp, y, RGWUserCtl::RemoveParams().set_objv_tracker(&op_state.objv));
+  ret = user->remove_user(dpp, y);
   if (ret < 0) {
     set_err_msg(err_msg, "unable to remove user from RADOS");
     return ret;
index ad7c0eb8e0465895cee22e048be49f5ee641eded..6cacef015872c1d757bd22d724d7b18146696777 100644 (file)
@@ -58,15 +58,15 @@ public:
     return 0;
   }
 
-  virtual int load_by_id(const DoutPrefixProvider *dpp, optional_yield y) override {
+  virtual int load_user(const DoutPrefixProvider *dpp, optional_yield y) override {
     return 0;
   }
 
-  virtual int store_info(const DoutPrefixProvider *dpp, optional_yield y, const RGWUserCtl::PutParams& params) override {
+  virtual int store_user(const DoutPrefixProvider* dpp, optional_yield y, bool exclusive, RGWUserInfo* old_info) override {
     return 0;
   }
 
-  virtual int remove_info(const DoutPrefixProvider *dpp, optional_yield y, const RGWUserCtl::RemoveParams& params) override {
+  virtual int remove_user(const DoutPrefixProvider* dpp, optional_yield y) override {
     return 0;
   }