summaryrefslogtreecommitdiff
path: root/src/rgw/rgw_user.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/rgw/rgw_user.cc')
-rw-r--r--src/rgw/rgw_user.cc19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/rgw/rgw_user.cc b/src/rgw/rgw_user.cc
index 91329bf4538..867de4c2c1a 100644
--- a/src/rgw/rgw_user.cc
+++ b/src/rgw/rgw_user.cc
@@ -85,7 +85,7 @@ int rgw_store_user_info(RGWRados *store, RGWUserInfo& info, RGWUserInfo *old_inf
::encode(ui, data_bl);
::encode(info, data_bl);
- ret = store->meta_mgr->put_obj(user_meta_handler, info.user_id, data_bl, exclusive, objv_tracker);
+ ret = store->meta_mgr->put_entry(user_meta_handler, info.user_id, data_bl, exclusive, objv_tracker);
if (ret < 0)
return ret;
@@ -212,7 +212,7 @@ extern int rgw_get_user_info_by_access_key(RGWRados *store, string& access_key,
static void get_buckets_obj(string& user_id, string& buckets_obj_id)
{
buckets_obj_id = user_id;
- buckets_obj_id += RGW_BUCKETS_OBJ_PREFIX;
+ buckets_obj_id += RGW_BUCKETS_OBJ_SUFFIX;
}
static int rgw_read_buckets_from_attr(RGWRados *store, string& user_id, RGWUserBuckets& buckets)
@@ -529,9 +529,20 @@ public:
return 0;
}
+ int remove(RGWRados *store, string& entry, RGWObjVersionTracker& objv_tracker) {
+#warning FIXME: use objv_tracker
- int put_obj(RGWRados *store, string& key, bufferlist& bl, bool exclusive,
- RGWObjVersionTracker *objv_tracker, map<string, bufferlist> *pattrs) {
+ RGWUserInfo info;
+ RGWObjVersionTracker ot;
+ int ret = rgw_get_user_info_by_uid(store, entry, info, &ot);
+ if (ret < 0)
+ return ret;
+
+ return rgw_delete_user(store, info);
+ }
+
+ int put_entry(RGWRados *store, string& key, bufferlist& bl, bool exclusive,
+ RGWObjVersionTracker *objv_tracker, map<string, bufferlist> *pattrs) {
return rgw_put_system_obj(store, store->zone.user_uid_pool, key,
bl.c_str(), bl.length(), exclusive,
objv_tracker, pattrs);