return 0;
}
+
+int RadosStore::load_account_by_id(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view id,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+{
+ return -ENOTSUP;
+}
+
+int RadosStore::load_account_by_name(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view tenant,
+ std::string_view name,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+{
+ return -ENOTSUP;
+}
+
+int RadosStore::load_account_by_email(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view email,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+{
+ return -ENOTSUP;
+}
+
+int RadosStore::store_account(const DoutPrefixProvider* dpp,
+ optional_yield y, bool exclusive,
+ const RGWAccountInfo& info,
+ const RGWAccountInfo* old_info,
+ const Attrs& attrs,
+ RGWObjVersionTracker& objv)
+{
+ return -ENOTSUP;
+}
+
+int RadosStore::delete_account(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ const RGWAccountInfo& info,
+ RGWObjVersionTracker& objv)
+{
+ return -ENOTSUP;
+}
+
+int RadosStore::load_account_stats(const DoutPrefixProvider* dpp,
+ optional_yield y, std::string_view id,
+ RGWStorageStats& stats,
+ ceph::real_time& last_synced,
+ ceph::real_time& last_updated)
+{
+ return -ENOTSUP;
+}
+
+int RadosStore::load_account_stats_async(const DoutPrefixProvider* dpp,
+ std::string_view id,
+ boost::intrusive_ptr<ReadStatsCB> cb)
+{
+ return -ENOTSUP;
+}
+
std::unique_ptr<Object> RadosStore::get_object(const rgw_obj_key& k)
{
return std::make_unique<RadosObject>(this, k);
virtual int get_user_by_access_key(const DoutPrefixProvider* dpp, const std::string& key, optional_yield y, std::unique_ptr<User>* user) override;
virtual int get_user_by_email(const DoutPrefixProvider* dpp, const std::string& email, optional_yield y, std::unique_ptr<User>* user) override;
virtual int get_user_by_swift(const DoutPrefixProvider* dpp, const std::string& user_str, optional_yield y, std::unique_ptr<User>* user) override;
+
+ int load_account_by_id(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view id,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int load_account_by_name(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view tenant,
+ std::string_view name,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int load_account_by_email(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view email,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int store_account(const DoutPrefixProvider* dpp,
+ optional_yield y, bool exclusive,
+ const RGWAccountInfo& info,
+ const RGWAccountInfo* old_info,
+ const Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int delete_account(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ const RGWAccountInfo& info,
+ RGWObjVersionTracker& objv) override;
+ int load_account_stats(const DoutPrefixProvider* dpp,
+ optional_yield y, std::string_view id,
+ RGWStorageStats& stats,
+ ceph::real_time& last_synced,
+ ceph::real_time& last_updated) override;
+ int load_account_stats_async(const DoutPrefixProvider* dpp,
+ std::string_view id,
+ boost::intrusive_ptr<ReadStatsCB> cb) override;
+
virtual std::unique_ptr<Object> get_object(const rgw_obj_key& k) override;
std::unique_ptr<Bucket> get_bucket(const RGWBucketInfo& i) override;
int load_bucket(const DoutPrefixProvider* dpp, const rgw_bucket& b,
virtual int get_user_by_email(const DoutPrefixProvider* dpp, const std::string& email, optional_yield y, std::unique_ptr<User>* user) = 0;
/** Lookup a User by swift username. Queries driver for user info. */
virtual int get_user_by_swift(const DoutPrefixProvider* dpp, const std::string& user_str, optional_yield y, std::unique_ptr<User>* user) = 0;
+
+ /** Lookup RGWAccountInfo by id */
+ virtual int load_account_by_id(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view id,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) = 0;
+ /** Lookup RGWAccountInfo by name */
+ virtual int load_account_by_name(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view tenant,
+ std::string_view name,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) = 0;
+ /** Lookup RGWAccountInfo by email address */
+ virtual int load_account_by_email(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view email,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) = 0;
+ /** Write or overwrite an account */
+ virtual int store_account(const DoutPrefixProvider* dpp,
+ optional_yield y, bool exclusive,
+ const RGWAccountInfo& info,
+ const RGWAccountInfo* old_info,
+ const Attrs& attrs,
+ RGWObjVersionTracker& objv) = 0;
+ /** Delete an account */
+ virtual int delete_account(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ const RGWAccountInfo& info,
+ RGWObjVersionTracker& objv) = 0;
+
+ /** Load account storage stats */
+ virtual int load_account_stats(const DoutPrefixProvider* dpp,
+ optional_yield y, std::string_view id,
+ RGWStorageStats& stats,
+ ceph::real_time& last_synced,
+ ceph::real_time& last_updated) = 0;
+ /** Load account storage stats asynchronously */
+ virtual int load_account_stats_async(const DoutPrefixProvider* dpp,
+ std::string_view id,
+ boost::intrusive_ptr<ReadStatsCB> cb) = 0;
+
+
/** Get a basic Object. This Object is not looked up, and is incomplete, since is
* does not have a bucket. This should only be used when an Object is needed before
* there is a Bucket, otherwise use the get_object() in the Bucket class. */
return -ENOTSUP;
}
+ int DBStore::load_account_by_id(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view id,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+ {
+ return -ENOTSUP;
+ }
+
+ int DBStore::load_account_by_name(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view tenant,
+ std::string_view name,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+ {
+ return -ENOTSUP;
+ }
+
+ int DBStore::load_account_by_email(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view email,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+ {
+ return -ENOTSUP;
+ }
+
+ int DBStore::store_account(const DoutPrefixProvider* dpp,
+ optional_yield y, bool exclusive,
+ const RGWAccountInfo& info,
+ const RGWAccountInfo* old_info,
+ const Attrs& attrs,
+ RGWObjVersionTracker& objv)
+ {
+ return -ENOTSUP;
+ }
+
+ int DBStore::delete_account(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ const RGWAccountInfo& info,
+ RGWObjVersionTracker& objv)
+ {
+ return -ENOTSUP;
+ }
+
+ int DBStore::load_account_stats(const DoutPrefixProvider* dpp,
+ optional_yield y, std::string_view id,
+ RGWStorageStats& stats,
+ ceph::real_time& last_synced,
+ ceph::real_time& last_updated)
+ {
+ return -ENOTSUP;
+ }
+
+ int DBStore::load_account_stats_async(const DoutPrefixProvider* dpp,
+ std::string_view id,
+ boost::intrusive_ptr<ReadStatsCB> cb)
+ {
+ return -ENOTSUP;
+ }
+
std::string DBStore::get_cluster_id(const DoutPrefixProvider* dpp, optional_yield y)
{
return "PLACEHOLDER"; // for instance unique identifier
virtual int get_user_by_access_key(const DoutPrefixProvider *dpp, const std::string& key, optional_yield y, std::unique_ptr<User>* user) override;
virtual int get_user_by_email(const DoutPrefixProvider *dpp, const std::string& email, optional_yield y, std::unique_ptr<User>* user) override;
virtual int get_user_by_swift(const DoutPrefixProvider *dpp, const std::string& user_str, optional_yield y, std::unique_ptr<User>* user) override;
+
+ int load_account_by_id(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view id,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int load_account_by_name(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view tenant,
+ std::string_view name,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int load_account_by_email(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view email,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int store_account(const DoutPrefixProvider* dpp,
+ optional_yield y, bool exclusive,
+ const RGWAccountInfo& info,
+ const RGWAccountInfo* old_info,
+ const Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int delete_account(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ const RGWAccountInfo& info,
+ RGWObjVersionTracker& objv) override;
+ int load_account_stats(const DoutPrefixProvider* dpp,
+ optional_yield y, std::string_view id,
+ RGWStorageStats& stats,
+ ceph::real_time& last_synced,
+ ceph::real_time& last_updated) override;
+ int load_account_stats_async(const DoutPrefixProvider* dpp,
+ std::string_view id,
+ boost::intrusive_ptr<ReadStatsCB> cb) override;
+
virtual std::unique_ptr<Object> get_object(const rgw_obj_key& k) override;
virtual std::string get_cluster_id(const DoutPrefixProvider* dpp, optional_yield y);
std::unique_ptr<Bucket> get_bucket(const RGWBucketInfo& i) override;
return 0;
}
+int FilterDriver::load_account_by_id(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view id,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+{
+ return next->load_account_by_id(dpp, y, id, info, attrs, objv);
+}
+
+int FilterDriver::load_account_by_name(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view tenant,
+ std::string_view name,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+{
+ return next->load_account_by_name(dpp, y, tenant, name, info, attrs, objv);
+}
+
+int FilterDriver::load_account_by_email(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view email,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv)
+{
+ return next->load_account_by_email(dpp, y, email, info, attrs, objv);
+}
+
+int FilterDriver::store_account(const DoutPrefixProvider* dpp,
+ optional_yield y, bool exclusive,
+ const RGWAccountInfo& info,
+ const RGWAccountInfo* old_info,
+ const Attrs& attrs,
+ RGWObjVersionTracker& objv)
+{
+ return next->store_account(dpp, y, exclusive, info, old_info, attrs, objv);
+}
+
+int FilterDriver::delete_account(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ const RGWAccountInfo& info,
+ RGWObjVersionTracker& objv)
+{
+ return next->delete_account(dpp, y, info, objv);
+}
+
+int FilterDriver::load_account_stats(const DoutPrefixProvider* dpp,
+ optional_yield y, std::string_view id,
+ RGWStorageStats& stats,
+ ceph::real_time& last_synced,
+ ceph::real_time& last_updated)
+{
+ return next->load_account_stats(dpp, y, id, stats, last_synced, last_updated);
+}
+
+int FilterDriver::load_account_stats_async(const DoutPrefixProvider* dpp,
+ std::string_view id,
+ boost::intrusive_ptr<ReadStatsCB> cb)
+{
+ return next->load_account_stats_async(dpp, id, std::move(cb));
+}
+
std::unique_ptr<Object> FilterDriver::get_object(const rgw_obj_key& k)
{
std::unique_ptr<Object> o = next->get_object(k);
virtual int get_user_by_swift(const DoutPrefixProvider* dpp, const
std::string& user_str, optional_yield y,
std::unique_ptr<User>* user) override;
+
+ int load_account_by_id(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view id,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int load_account_by_name(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view tenant,
+ std::string_view name,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int load_account_by_email(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ std::string_view email,
+ RGWAccountInfo& info,
+ Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int store_account(const DoutPrefixProvider* dpp,
+ optional_yield y, bool exclusive,
+ const RGWAccountInfo& info,
+ const RGWAccountInfo* old_info,
+ const Attrs& attrs,
+ RGWObjVersionTracker& objv) override;
+ int delete_account(const DoutPrefixProvider* dpp,
+ optional_yield y,
+ const RGWAccountInfo& info,
+ RGWObjVersionTracker& objv) override;
+ int load_account_stats(const DoutPrefixProvider* dpp,
+ optional_yield y, std::string_view id,
+ RGWStorageStats& stats,
+ ceph::real_time& last_synced,
+ ceph::real_time& last_updated) override;
+ int load_account_stats_async(const DoutPrefixProvider* dpp,
+ std::string_view id,
+ boost::intrusive_ptr<ReadStatsCB> cb) override;
+
virtual std::unique_ptr<Object> get_object(const rgw_obj_key& k) override;
std::unique_ptr<Bucket> get_bucket(const RGWBucketInfo& i) override;
int load_bucket(const DoutPrefixProvider* dpp, const rgw_bucket& b,