return EINVAL;
}
- string user_str = user_id.to_str();
if (reset_stats) {
- if (!bucket_name.empty()){
- cerr << "ERROR: recalculate doesn't work on buckets" << std::endl;
+ if (!bucket_name.empty()) {
+ cerr << "ERROR: --reset-stats does not work on buckets and "
+ "bucket specified" << std::endl;
+ return EINVAL;
+ }
+ if (sync_stats) {
+ cerr << "ERROR: sync-stats includes the reset-stats functionality, "
+ "so at most one of the two should be specified" << std::endl;
return EINVAL;
}
- ret = store->cls_user_reset_stats(user_str);
+ ret = store->ctl()->user->reset_stats(user_id);
if (ret < 0) {
- cerr << "ERROR: could not clear user stats: " << cpp_strerror(-ret) << std::endl;
+ cerr << "ERROR: could not reset user stats: " << cpp_strerror(-ret) <<
+ std::endl;
return -ret;
}
}
if (sync_stats) {
if (!bucket_name.empty()) {
- int ret = rgw_bucket_sync_user_stats(store, tenant, bucket_name);
+ RGWBucketInfo bucket_info;
+ int ret = init_bucket(tenant, bucket_name, bucket_id, bucket_info, bucket);
+ if (ret < 0) {
+ cerr << "ERROR: could not init bucket: " << cpp_strerror(-ret) << std::endl;
+ return -ret;
+ }
+ ret = store->ctl()->bucket->sync_user_stats(user_id, bucket_info);
if (ret < 0) {
- cerr << "ERROR: could not sync bucket stats: " << cpp_strerror(-ret) << std::endl;
+ cerr << "ERROR: could not sync bucket stats: " <<
+ cpp_strerror(-ret) << std::endl;
return -ret;
}
} else {