From: Yehuda Sadeh Date: Mon, 13 Jan 2014 21:20:08 +0000 (-0800) Subject: radosgw-admin: update stats sync completion X-Git-Tag: v0.78~270^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5976bfcc583c134b08f0fd2316d1774a8f245dd9;p=ceph.git radosgw-admin: update stats sync completion Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 7470c7d8162..4c1924e4ce0 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -1967,6 +1967,12 @@ next: } done = (buckets.size() < max_entries); } while (!done); + + int ret = store->complete_sync_user_stats(user_id); + if (ret < 0) { + cerr << "ERROR: failed to complete syncing user stats: " << cpp_strerror(-ret) << std::endl; + return -ret; + } } } diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index f4e7f399933..6952eb6d695 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -5805,6 +5805,14 @@ int RGWRados::cls_user_update_buckets(rgw_obj& obj, list& return 0; } +int RGWRados::complete_sync_user_stats(const string& user_id) +{ + string buckets_obj_id; + rgw_get_buckets_obj(user_id, buckets_obj_id); + rgw_obj obj(zone.user_uid_pool, buckets_obj_id); + return cls_user_complete_stats_sync(obj); +} + int RGWRados::cls_user_complete_stats_sync(rgw_obj& obj) { bufferlist bl; diff --git a/src/rgw/rgw_rados.h b/src/rgw/rgw_rados.h index b80e5fa673b..d33cd31c614 100644 --- a/src/rgw/rgw_rados.h +++ b/src/rgw/rgw_rados.h @@ -1447,6 +1447,7 @@ public: int cls_user_add_bucket(rgw_obj& obj, const cls_user_bucket_entry& entry); int cls_user_update_buckets(rgw_obj& obj, list& entries); int cls_user_complete_stats_sync(rgw_obj& obj); + int complete_sync_user_stats(const string& user_id); int cls_user_add_bucket(rgw_obj& obj, list& entries); int cls_user_remove_bucket(rgw_obj& obj, const cls_user_bucket& bucket);