rgw_user user = RGWSI_User::user_from_meta_key(entry);
- int ret = svc.user->read_user_info(op->ctx(), user, &uci.info, &objv_tracker,
+ int ret = svc.user->read_user_info(user, &uci.info, &objv_tracker,
&mtime, nullptr, &uci.attrs,
y, dpp);
if (ret < 0) {
rgw_user user = RGWSI_User::user_from_meta_key(entry);
- int ret = svc.user->read_user_info(op->ctx(), user, &info, nullptr,
+ int ret = svc.user->read_user_info(user, &info, nullptr,
nullptr, nullptr, nullptr,
y, dpp);
if (ret < 0) {
return ret;
}
- return svc.user->remove_user_info(op->ctx(), info, &objv_tracker,
- y, dpp);
+ return svc.user->remove_user_info(info, &objv_tracker, y, dpp);
}
};
auto mtime = obj->get_mtime();
- int ret = uhandler->svc.user->store_user_info(op->ctx(), uci.info, pold_info,
+ int ret = uhandler->svc.user->store_user_info(uci.info, pold_info,
&objv_tracker, mtime,
false, pattrs, y, dpp);
if (ret < 0) {
const GetParams& params)
{
- return be_handler->call([&](RGWSI_MetaBackend_Handler::Op *op) {
- return svc.user->read_user_info(op->ctx(),
- uid,
- info,
- params.objv_tracker,
- params.mtime,
- params.cache_info,
- params.attrs,
- y,
- dpp);
- });
+ return svc.user->read_user_info(uid,
+ info,
+ params.objv_tracker,
+ params.mtime,
+ params.cache_info,
+ params.attrs,
+ y,
+ dpp);
}
int RGWUserCtl::get_info_by_email(const DoutPrefixProvider *dpp,
optional_yield y,
const GetParams& params)
{
- return be_handler->call([&](RGWSI_MetaBackend_Handler::Op *op) {
- return svc.user->get_user_info_by_email(op->ctx(), email,
- info,
- params.objv_tracker,
- params.attrs,
- params.mtime,
- y,
- dpp);
- });
+ return svc.user->get_user_info_by_email(email,
+ info,
+ params.objv_tracker,
+ params.attrs,
+ params.mtime,
+ y,
+ dpp);
}
int RGWUserCtl::get_info_by_swift(const DoutPrefixProvider *dpp,
optional_yield y,
const GetParams& params)
{
- return be_handler->call([&](RGWSI_MetaBackend_Handler::Op *op) {
- return svc.user->get_user_info_by_swift(op->ctx(), swift_name,
- info,
- params.objv_tracker,
- params.attrs,
- params.mtime,
- y,
- dpp);
- });
+ return svc.user->get_user_info_by_swift(swift_name,
+ info,
+ params.objv_tracker,
+ params.attrs,
+ params.mtime,
+ y,
+ dpp);
}
int RGWUserCtl::get_info_by_access_key(const DoutPrefixProvider *dpp,
optional_yield y,
const GetParams& params)
{
- return be_handler->call([&](RGWSI_MetaBackend_Handler::Op *op) {
- return svc.user->get_user_info_by_access_key(op->ctx(), access_key,
- info,
- params.objv_tracker,
- params.attrs,
- params.mtime,
- y,
- dpp);
- });
+ return svc.user->get_user_info_by_access_key(access_key,
+ info,
+ params.objv_tracker,
+ params.attrs,
+ params.mtime,
+ y,
+ dpp);
}
int RGWUserCtl::get_attrs_by_uid(const DoutPrefixProvider *dpp,
const RGWUserInfo& info, optional_yield y,
const PutParams& params)
{
- string key = RGWSI_User::get_meta_key(info.user_id);
-
- return be_handler->call([&](RGWSI_MetaBackend_Handler::Op *op) {
- return svc.user->store_user_info(op->ctx(), info,
- params.old_info,
- params.objv_tracker,
- params.mtime,
- params.exclusive,
- params.attrs,
- y,
- dpp);
- });
+ return svc.user->store_user_info(info,
+ params.old_info,
+ params.objv_tracker,
+ params.mtime,
+ params.exclusive,
+ params.attrs,
+ y,
+ dpp);
}
int RGWUserCtl::remove_info(const DoutPrefixProvider *dpp,
const RemoveParams& params)
{
- string key = RGWSI_User::get_meta_key(info.user_id);
-
- return be_handler->call([&](RGWSI_MetaBackend_Handler::Op *op) {
- return svc.user->remove_user_info(op->ctx(), info,
- params.objv_tracker,
- y, dpp);
- });
+ return svc.user->remove_user_info(info, params.objv_tracker, y, dpp);
}
RGWMetadataHandler *RGWUserMetaHandlerAllocator::alloc(RGWSI_User *user_svc) {
virtual rgw_raw_obj get_buckets_obj(const rgw_user& user_id) const = 0;
- virtual int read_user_info(RGWSI_MetaBackend::Context *ctx,
- const rgw_user& user,
+ virtual int read_user_info(const rgw_user& user,
RGWUserInfo *info,
RGWObjVersionTracker * const objv_tracker,
real_time * const pmtime,
optional_yield y,
const DoutPrefixProvider *dpp) = 0;
- virtual int store_user_info(RGWSI_MetaBackend::Context *ctx,
- const RGWUserInfo& info,
+ virtual int store_user_info(const RGWUserInfo& info,
RGWUserInfo *old_info,
RGWObjVersionTracker *objv_tracker,
const real_time& mtime,
optional_yield y,
const DoutPrefixProvider *dpp) = 0;
- virtual int remove_user_info(RGWSI_MetaBackend::Context *ctx,
- const RGWUserInfo& info,
+ virtual int remove_user_info(const RGWUserInfo& info,
RGWObjVersionTracker *objv_tracker,
optional_yield y,
const DoutPrefixProvider *dpp) = 0;
- virtual int get_user_info_by_email(RGWSI_MetaBackend::Context *ctx,
- const std::string& email, RGWUserInfo *info,
+ virtual int get_user_info_by_email(const std::string& email, RGWUserInfo *info,
RGWObjVersionTracker *objv_tracker,
std::map<std::string, bufferlist>* pattrs,
real_time *pmtime,
optional_yield y,
const DoutPrefixProvider *dpp) = 0;
- virtual int get_user_info_by_swift(RGWSI_MetaBackend::Context *ctx,
- const std::string& swift_name,
+ virtual int get_user_info_by_swift(const std::string& swift_name,
RGWUserInfo *info, /* out */
RGWObjVersionTracker * const objv_tracker,
std::map<std::string, bufferlist>* pattrs,
real_time * const pmtime,
optional_yield y,
const DoutPrefixProvider *dpp) = 0;
- virtual int get_user_info_by_access_key(RGWSI_MetaBackend::Context *ctx,
- const std::string& access_key,
+ virtual int get_user_info_by_access_key(const std::string& access_key,
RGWUserInfo *info,
RGWObjVersionTracker* objv_tracker,
std::map<std::string, bufferlist>* pattrs,
return rgw_raw_obj(svc.zone->get_zone_params().user_uid_pool, oid);
}
-int RGWSI_User_RADOS::read_user_info(RGWSI_MetaBackend::Context *ctx,
- const rgw_user& user,
+int RGWSI_User_RADOS::read_user_info(const rgw_user& user,
RGWUserInfo *info,
RGWObjVersionTracker * const objv_tracker,
real_time * const pmtime,
{
RGWSI_User_RADOS::Svc& svc;
librados::Rados& rados;
- RGWSI_MetaBackend_SObj::Context_SObj *ctx;
RGWUID ui;
const RGWUserInfo& info;
RGWUserInfo *old_info;
public:
PutOperation(RGWSI_User_RADOS::Svc& svc,
librados::Rados& rados,
- RGWSI_MetaBackend::Context *_ctx,
const RGWUserInfo& info,
RGWUserInfo *old_info,
RGWObjVersionTracker *objv_tracker,
svc(svc), rados(rados), info(info), old_info(old_info),
objv_tracker(objv_tracker), mtime(mtime),
exclusive(exclusive), pattrs(pattrs), y(y) {
- ctx = static_cast<RGWSI_MetaBackend_SObj::Context_SObj *>(_ctx);
ui.id = info.user_id.to_str();
}
continue;
/* check if swift mapping exists */
RGWUserInfo inf;
- int r = svc.user->get_user_info_by_swift(ctx, id, &inf, nullptr, nullptr, nullptr, y, dpp);
+ int r = svc.user->get_user_info_by_swift(id, &inf, nullptr, nullptr, nullptr, y, dpp);
if (r >= 0 && inf.user_id != info.user_id &&
(!old_info || inf.user_id != old_info->user_id)) {
ldpp_dout(dpp, 0) << "WARNING: can't store user info, swift id (" << id
if (s3_key_active(old_info, id)) // old key already active
continue;
RGWUserInfo inf;
- int r = svc.user->get_user_info_by_access_key(ctx, id, &inf, nullptr, nullptr, nullptr, y, dpp);
+ int r = svc.user->get_user_info_by_access_key(id, &inf, nullptr, nullptr, nullptr, y, dpp);
if (r >= 0 && inf.user_id != info.user_id &&
(!old_info || inf.user_id != old_info->user_id)) {
ldpp_dout(dpp, 0) << "WARNING: can't store user info, access key already mapped to another user" << dendl;
ldpp_dout(dpp, 0) << "ERROR: tenant mismatch: " << old_info.user_id.tenant << " != " << new_info.user_id.tenant << dendl;
return -EINVAL;
}
- ret = svc.user->remove_uid_index(ctx, old_info, nullptr, y, dpp);
+ ret = svc.user->remove_uid_index(old_info, nullptr, y, dpp);
if (ret < 0 && ret != -ENOENT) {
set_err_msg("ERROR: could not remove index for uid " + old_info.user_id.to_str());
return ret;
}
};
-int RGWSI_User_RADOS::store_user_info(RGWSI_MetaBackend::Context *ctx,
- const RGWUserInfo& info,
+int RGWSI_User_RADOS::store_user_info(const RGWUserInfo& info,
RGWUserInfo *old_info,
RGWObjVersionTracker *objv_tracker,
const real_time& mtime,
optional_yield y,
const DoutPrefixProvider *dpp)
{
- PutOperation op(svc, *rados, ctx,
- info, old_info,
- objv_tracker,
- mtime, exclusive,
- attrs,
- y);
+ PutOperation op(svc, *rados, info, old_info, objv_tracker,
+ mtime, exclusive, attrs, y);
int r = op.prepare(dpp);
if (r < 0) {
* from the user and user email pools. This leaves the pools
* themselves alone, as well as any ACLs embedded in object xattrs.
*/
-int RGWSI_User_RADOS::remove_user_info(RGWSI_MetaBackend::Context *ctx,
- const RGWUserInfo& info,
+int RGWSI_User_RADOS::remove_user_info(const RGWUserInfo& info,
RGWObjVersionTracker *objv_tracker,
optional_yield y,
const DoutPrefixProvider *dpp)
}
}
- ret = remove_uid_index(ctx, info, objv_tracker, y, dpp);
+ ret = remove_uid_index(info, objv_tracker, y, dpp);
if (ret < 0 && ret != -ENOENT) {
return ret;
}
return 0;
}
-int RGWSI_User_RADOS::remove_uid_index(RGWSI_MetaBackend::Context *ctx, const RGWUserInfo& user_info, RGWObjVersionTracker *objv_tracker,
+int RGWSI_User_RADOS::remove_uid_index(const RGWUserInfo& user_info, RGWObjVersionTracker *objv_tracker,
optional_yield y, const DoutPrefixProvider *dpp)
{
ldpp_dout(dpp, 10) << "removing user index: " << user_info.user_id << dendl;
return 0;
}
-int RGWSI_User_RADOS::get_user_info_from_index(RGWSI_MetaBackend::Context* ctx,
- const string& key,
+int RGWSI_User_RADOS::get_user_info_from_index(const string& key,
const rgw_pool& pool,
RGWUserInfo *info,
RGWObjVersionTracker* objv_tracker,
}
rgw_cache_entry_info cache_info;
- ret = read_user_info(ctx, rgw_user{uid.id}, &e.info, &e.objv_tracker,
+ ret = read_user_info(rgw_user{uid.id}, &e.info, &e.objv_tracker,
nullptr, &cache_info, &e.attrs, y, dpp);
if (ret < 0) {
return ret;
* Given an email, finds the user info associated with it.
* returns: 0 on success, -ERR# on failure (including nonexistence)
*/
-int RGWSI_User_RADOS::get_user_info_by_email(RGWSI_MetaBackend::Context *ctx,
- const string& email, RGWUserInfo *info,
+int RGWSI_User_RADOS::get_user_info_by_email(const string& email, RGWUserInfo *info,
RGWObjVersionTracker *objv_tracker,
std::map<std::string, bufferlist>* pattrs,
real_time *pmtime, optional_yield y,
{
std::string oid = email;
boost::to_lower(oid);
- return get_user_info_from_index(ctx, oid, svc.zone->get_zone_params().user_email_pool,
+ return get_user_info_from_index(oid, svc.zone->get_zone_params().user_email_pool,
info, objv_tracker, pattrs, pmtime, y, dpp);
}
* Given an swift username, finds the user_info associated with it.
* returns: 0 on success, -ERR# on failure (including nonexistence)
*/
-int RGWSI_User_RADOS::get_user_info_by_swift(RGWSI_MetaBackend::Context *ctx,
- const string& swift_name,
+int RGWSI_User_RADOS::get_user_info_by_swift(const string& swift_name,
RGWUserInfo *info, /* out */
RGWObjVersionTracker * const objv_tracker,
std::map<std::string, bufferlist>* pattrs,
real_time * const pmtime, optional_yield y,
const DoutPrefixProvider *dpp)
{
- return get_user_info_from_index(ctx,
- swift_name,
+ return get_user_info_from_index(swift_name,
svc.zone->get_zone_params().user_swift_pool,
info, objv_tracker, pattrs, pmtime, y, dpp);
}
* Given an access key, finds the user info associated with it.
* returns: 0 on success, -ERR# on failure (including nonexistence)
*/
-int RGWSI_User_RADOS::get_user_info_by_access_key(RGWSI_MetaBackend::Context *ctx,
- const std::string& access_key,
+int RGWSI_User_RADOS::get_user_info_by_access_key(const std::string& access_key,
RGWUserInfo *info,
RGWObjVersionTracker* objv_tracker,
std::map<std::string, bufferlist>* pattrs,
real_time *pmtime, optional_yield y,
const DoutPrefixProvider *dpp)
{
- return get_user_info_from_index(ctx,
- access_key,
+ return get_user_info_from_index(access_key,
svc.zone->get_zone_params().user_keys_pool,
info, objv_tracker, pattrs, pmtime, y, dpp);
}
rgw_raw_obj get_buckets_obj(const rgw_user& user_id) const override;
- int get_user_info_from_index(RGWSI_MetaBackend::Context *ctx,
- const std::string& key,
+ int get_user_info_from_index(const std::string& key,
const rgw_pool& pool,
RGWUserInfo *info,
RGWObjVersionTracker * const objv_tracker,
optional_yield y,
const DoutPrefixProvider *dpp);
- int remove_uid_index(RGWSI_MetaBackend::Context *ctx, const RGWUserInfo& user_info, RGWObjVersionTracker *objv_tracker,
+ int remove_uid_index(const RGWUserInfo& user_info, RGWObjVersionTracker *objv_tracker,
optional_yield y, const DoutPrefixProvider *dpp);
int remove_key_index(const DoutPrefixProvider *dpp, const RGWAccessKey& access_key, optional_yield y);
return be_handler;
}
- int read_user_info(RGWSI_MetaBackend::Context *ctx,
- const rgw_user& user,
+ int read_user_info(const rgw_user& user,
RGWUserInfo *info,
RGWObjVersionTracker * const objv_tracker,
real_time * const pmtime,
optional_yield y,
const DoutPrefixProvider *dpp) override;
- int store_user_info(RGWSI_MetaBackend::Context *ctx,
- const RGWUserInfo& info,
+ int store_user_info(const RGWUserInfo& info,
RGWUserInfo *old_info,
RGWObjVersionTracker *objv_tracker,
const real_time& mtime,
optional_yield y,
const DoutPrefixProvider *dpp) override;
- int remove_user_info(RGWSI_MetaBackend::Context *ctx,
- const RGWUserInfo& info,
+ int remove_user_info(const RGWUserInfo& info,
RGWObjVersionTracker *objv_tracker,
optional_yield y,
const DoutPrefixProvider *dpp) override;
- int get_user_info_by_email(RGWSI_MetaBackend::Context *ctx,
- const std::string& email, RGWUserInfo *info,
+ int get_user_info_by_email(const std::string& email, RGWUserInfo *info,
RGWObjVersionTracker *objv_tracker,
std::map<std::string, bufferlist>* pattrs,
real_time *pmtime,
optional_yield y,
const DoutPrefixProvider *dpp) override;
- int get_user_info_by_swift(RGWSI_MetaBackend::Context *ctx,
- const std::string& swift_name,
+ int get_user_info_by_swift(const std::string& swift_name,
RGWUserInfo *info, /* out */
RGWObjVersionTracker * const objv_tracker,
std::map<std::string, bufferlist>* pattrs,
real_time * const pmtime,
optional_yield y,
const DoutPrefixProvider *dpp) override;
- int get_user_info_by_access_key(RGWSI_MetaBackend::Context *ctx,
- const std::string& access_key,
+ int get_user_info_by_access_key(const std::string& access_key,
RGWUserInfo *info,
RGWObjVersionTracker* objv_tracker,
std::map<std::string, bufferlist>* pattrs,