]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rgw/rgw_service.h
import ceph quincy 17.2.6
[ceph.git] / ceph / src / rgw / rgw_service.h
index b94f4cb28c09da0000d01548d51d1898d2dc69c7..83475140d16843501068c2358718431202d75a09 100644 (file)
@@ -75,6 +75,7 @@ class RGWSI_SysObj_Cache;
 class RGWSI_User;
 class RGWSI_User_RADOS;
 class RGWDataChangesLog;
+class RGWSI_Role_RADOS;
 
 struct RGWServices_Def
 {
@@ -104,6 +105,7 @@ struct RGWServices_Def
   std::unique_ptr<RGWSI_SysObj_Cache> sysobj_cache;
   std::unique_ptr<RGWSI_User_RADOS> user_rados;
   std::unique_ptr<RGWDataChangesLog> datalog_rados;
+  std::unique_ptr<RGWSI_Role_RADOS> role_rados;
 
   RGWServices_Def();
   ~RGWServices_Def();
@@ -146,6 +148,7 @@ struct RGWServices
   RGWSI_SysObj_Cache *cache{nullptr};
   RGWSI_SysObj_Core *core{nullptr};
   RGWSI_User *user{nullptr};
+  RGWSI_Role_RADOS *role{nullptr};
 
   int do_init(CephContext *cct, bool have_cache, bool raw_storage, bool run_sync, optional_yield y, const DoutPrefixProvider *dpp);
 
@@ -174,6 +177,7 @@ struct RGWCtlDef {
     std::unique_ptr<RGWMetadataHandler> bucket_instance;
     std::unique_ptr<RGWMetadataHandler> user;
     std::unique_ptr<RGWMetadataHandler> otp;
+    std::unique_ptr<RGWMetadataHandler> role;
 
     _meta();
     ~_meta();
@@ -186,7 +190,7 @@ struct RGWCtlDef {
   RGWCtlDef();
   ~RGWCtlDef();
 
-  int init(RGWServices& svc, const DoutPrefixProvider *dpp);
+  int init(RGWServices& svc, rgw::sal::Store* store, const DoutPrefixProvider *dpp);
 };
 
 struct RGWCtl {
@@ -202,13 +206,14 @@ struct RGWCtl {
     RGWMetadataHandler *bucket_instance{nullptr};
     RGWMetadataHandler *user{nullptr};
     RGWMetadataHandler *otp{nullptr};
+    RGWMetadataHandler *role{nullptr};
   } meta;
 
   RGWUserCtl *user{nullptr};
   RGWBucketCtl *bucket{nullptr};
   RGWOTPCtl *otp{nullptr};
 
-  int init(RGWServices *_svc, const DoutPrefixProvider *dpp);
+  int init(RGWServices *_svc, rgw::sal::Store* store, const DoutPrefixProvider *dpp);
 };
 
 #endif