]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: role: use svc->delete_role for deleting
authorAbhishek Lekshmanan <abhishek@suse.com>
Wed, 21 Oct 2020 13:06:50 +0000 (15:06 +0200)
committerPritha Srivastava <prsrivas@redhat.com>
Mon, 6 Jun 2022 10:49:43 +0000 (16:19 +0530)
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
src/rgw/rgw_role.cc
src/rgw/rgw_role.h

index b6108f4e2fb05f23f4034ab81ac41b98c4f59554..db4a2435ae7475b01f974cfb2bf6e0b48fabde17 100644 (file)
@@ -102,26 +102,15 @@ int RGWRole::delete_obj(const DoutPrefixProvider *dpp, optional_yield y)
     return -ERR_DELETE_CONFLICT;
   }
 
-  // Delete id
-  ret = role_ctl->delete_info(id, y, dpp);
-  if (ret < 0) {
-    ldpp_dout(dpp, 0) << "ERROR: deleting role id: "
-                  << id << ": " << cpp_strerror(-ret) << dendl;
-  }
-
-  // Delete name
-  ret = role_ctl->delete_name(name, tenant, y, dpp);
+  RGWObjVersionTracker ot;
+  ret = role_ctl->delete_role(*this, y, dpp,
+                             RGWRoleCtl::RemoveParams().
+                             set_objv_tracker(&ot));
   if (ret < 0) {
-    ldpp_dout(dpp, 0) << "ERROR: deleting role: "
-                  << name << ":" << cpp_strerror(-ret) << dendl;
+    ldpp_dout(dpp, 0) << "ERROR: deleting role: "<< id
+                 << cpp_strerror(-ret) << dendl;
   }
 
-  // Delete path
-  ret = role_ctl->delete_path(id, path, tenant, y, dpp);
-  if (ret < 0) {
-    ldpp_dout(dpp, 0) << "ERROR: deleting role path:"
-                  << path << ": " << cpp_strerror(-ret) << dendl;
-  }
   return ret;
 }
 
@@ -482,6 +471,20 @@ RGWRoleCtl::read_name(const std::string& name,
   return make_pair(ret, role_id);
 }
 
+int RGWRoleCtl::delete_role(const rgw::sal::RGWRole& info,
+                           optional_yield y,
+          const DoutPrefixProvider *dpp,
+                           const RemoveParams& params)
+{
+  return be_handler->call([&](RGWSI_MetaBackend_Handler::Op *op) {
+    return svc.role->delete_role(op->ctx(),
+                                info,
+                                params.objv_tracker,
+                                y, dpp);
+  });
+  return 0;
+}
+
 int RGWRoleCtl::delete_info(const std::string& role_id,
                            optional_yield y,
           const DoutPrefixProvider *dpp,
index 1b33089b30e855dfc45f1d006496f014a362634a..eb97a3e018c4e2b6e1ea04b20e93f7858af3bc3e 100644 (file)
@@ -333,6 +333,11 @@ public:
            const DoutPrefixProvider *dpp,
                                   const GetParams& params = {});
 
+  int delete_role(const rgw::sal::RGWRole& role,
+                 optional_yield y,
+      const DoutPrefixProvider *dpp,
+                 const RemoveParams& params = {});
+
   int delete_info(const std::string& role_id,
                  optional_yield y,
       const DoutPrefixProvider *dpp,