summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda.sadeh@dreamhost.com>2011-12-02 12:29:15 -0800
committerYehuda Sadeh <yehuda.sadeh@dreamhost.com>2011-12-02 12:29:15 -0800
commitbd087d8e8d10e90ef4e19bc1c6be0d485fe57cbb (patch)
tree1c1336411c822e13c7f934ed075ce1e49b37b031
parent4ab27607efc8ad310b7a4156bb9a7126bbe388f3 (diff)
downloadceph-bd087d8e8d10e90ef4e19bc1c6be0d485fe57cbb.tar.gz
rgw: get rid of old cruft
-rw-r--r--src/rgw/rgw_rados.h1
-rw-r--r--src/rgw/rgw_user.cc157
2 files changed, 50 insertions, 108 deletions
diff --git a/src/rgw/rgw_rados.h b/src/rgw/rgw_rados.h
index 8e7cb8dc9b0..7334cef8952 100644
--- a/src/rgw/rgw_rados.h
+++ b/src/rgw/rgw_rados.h
@@ -313,7 +313,6 @@ public:
virtual int obj_stat(void *ctx, rgw_obj& obj, uint64_t *psize, time_t *pmtime, map<string, bufferlist> *attrs);
- virtual bool supports_tmap() { return true; }
virtual int tmap_get(rgw_obj& obj, bufferlist& header, std::map<string, bufferlist>& m);
virtual int tmap_set(rgw_obj& obj, std::string& key, bufferlist& bl);
virtual int tmap_set(rgw_obj& obj, map<std::string, bufferlist>& m);
diff --git a/src/rgw/rgw_user.cc b/src/rgw/rgw_user.cc
index e91d704402b..fb2809840c9 100644
--- a/src/rgw/rgw_user.cc
+++ b/src/rgw/rgw_user.cc
@@ -213,63 +213,39 @@ int rgw_read_user_buckets(string user_id, RGWUserBuckets& buckets, bool need_sta
{
int ret;
buckets.clear();
- if (rgwstore->supports_tmap()) {
- string buckets_obj_id;
- get_buckets_obj(user_id, buckets_obj_id);
- bufferlist bl;
+ string buckets_obj_id;
+ get_buckets_obj(user_id, buckets_obj_id);
+ bufferlist bl;
#define LARGE_ENOUGH_LEN (4096 * 1024)
- size_t len = LARGE_ENOUGH_LEN;
- rgw_obj obj(ui_uid_bucket, buckets_obj_id);
-
- do {
- ret = rgwstore->read(NULL, obj, 0, len, bl);
- if (ret == -ENOENT) {
- /* try to read the old format */
- ret = rgw_read_buckets_from_attr(user_id, buckets);
- if (!ret) {
- store_buckets(user_id, buckets);
- goto done;
- }
-
- ret = 0;
- return 0;
- }
- if (ret < 0)
- return ret;
+ size_t len = LARGE_ENOUGH_LEN;
+ rgw_obj obj(ui_uid_bucket, buckets_obj_id);
- if ((size_t)ret != len)
- break;
-
- len *= 2;
- } while (1);
-
- bufferlist::iterator p = bl.begin();
- bufferlist header;
- map<string,bufferlist> m;
- try {
- ::decode(header, p);
- ::decode(m, p);
- for (map<string,bufferlist>::iterator q = m.begin(); q != m.end(); q++) {
- bufferlist::iterator iter = q->second.begin();
- RGWBucketEnt bucket;
- ::decode(bucket, iter);
- buckets.add(bucket);
- }
- } catch (buffer::error& err) {
- dout(0) << "ERROR: failed to decode bucket information, caught buffer::error" << dendl;
- return -EIO;
- }
- } else {
- ret = rgw_read_buckets_from_attr(user_id, buckets);
- switch (ret) {
- case 0:
- break;
- case -ENODATA:
- ret = 0;
- return 0;
- default:
+ do {
+ ret = rgwstore->read(NULL, obj, 0, len, bl);
+ if (ret < 0)
return ret;
+
+ if ((size_t)ret != len)
+ break;
+
+ len *= 2;
+ } while (1);
+
+ bufferlist::iterator p = bl.begin();
+ bufferlist header;
+ map<string,bufferlist> m;
+ try {
+ ::decode(header, p);
+ ::decode(m, p);
+ for (map<string,bufferlist>::iterator q = m.begin(); q != m.end(); q++) {
+ bufferlist::iterator iter = q->second.begin();
+ RGWBucketEnt bucket;
+ ::decode(bucket, iter);
+ buckets.add(bucket);
}
+ } catch (buffer::error& err) {
+ dout(0) << "ERROR: failed to decode bucket information, caught buffer::error" << dendl;
+ return -EIO;
}
done:
@@ -306,46 +282,24 @@ int rgw_write_buckets_attr(string user_id, RGWUserBuckets& buckets)
int rgw_add_bucket(string user_id, rgw_bucket& bucket)
{
int ret;
- string& bucket_name = bucket.name;
+ string& bucket_name = bucket.name;
- if (rgwstore->supports_tmap()) {
- bufferlist bl;
+ bufferlist bl;
- RGWBucketEnt new_bucket;
- new_bucket.bucket = bucket;
- new_bucket.size = 0;
- time(&new_bucket.mtime);
- ::encode(new_bucket, bl);
+ RGWBucketEnt new_bucket;
+ new_bucket.bucket = bucket;
+ new_bucket.size = 0;
+ time(&new_bucket.mtime);
+ ::encode(new_bucket, bl);
- string buckets_obj_id;
- get_buckets_obj(user_id, buckets_obj_id);
+ string buckets_obj_id;
+ get_buckets_obj(user_id, buckets_obj_id);
- rgw_obj obj(ui_uid_bucket, buckets_obj_id);
- ret = rgwstore->tmap_create(obj, bucket_name, bl);
- if (ret < 0) {
- dout(0) << "error adding bucket to directory: "
+ rgw_obj obj(ui_uid_bucket, buckets_obj_id);
+ ret = rgwstore->tmap_create(obj, bucket_name, bl);
+ if (ret < 0) {
+ dout(0) << "error adding bucket to directory: "
<< cpp_strerror(-ret)<< dendl;
- }
- } else {
- RGWUserBuckets buckets;
-
- ret = rgw_read_user_buckets(user_id, buckets, false);
- RGWBucketEnt new_bucket;
-
- switch (ret) {
- case 0:
- case -ENOENT:
- case -ENODATA:
- new_bucket.bucket = bucket;
- new_bucket.size = 0;
- time(&new_bucket.mtime);
- buckets.add(new_bucket);
- ret = rgw_write_buckets_attr(user_id, buckets);
- break;
- default:
- dout(10) << "rgw_write_buckets_attr returned " << ret << dendl;
- break;
- }
}
return ret;
@@ -355,27 +309,16 @@ int rgw_remove_user_bucket_info(string user_id, rgw_bucket& bucket)
{
int ret;
- if (rgwstore->supports_tmap()) {
- bufferlist bl;
-
- string buckets_obj_id;
- get_buckets_obj(user_id, buckets_obj_id);
-
- rgw_obj obj(ui_uid_bucket, buckets_obj_id);
- ret = rgwstore->tmap_del(obj, bucket.name);
- if (ret < 0) {
- dout(0) << "error removing bucket from directory: "
- << cpp_strerror(-ret)<< dendl;
- }
- } else {
- RGWUserBuckets buckets;
+ bufferlist bl;
- ret = rgw_read_user_buckets(user_id, buckets, false);
+ string buckets_obj_id;
+ get_buckets_obj(user_id, buckets_obj_id);
- if (ret == 0 || ret == -ENOENT) {
- buckets.remove(bucket.name);
- ret = rgw_write_buckets_attr(user_id, buckets);
- }
+ rgw_obj obj(ui_uid_bucket, buckets_obj_id);
+ ret = rgwstore->tmap_del(obj, bucket.name);
+ if (ret < 0) {
+ dout(0) << "error removing bucket from directory: "
+ << cpp_strerror(-ret)<< dendl;
}
return ret;