if (gen_key)
op_state.set_generate_key();
+ RGWQuotaInfo bucket_quota;
+ RGWQuotaInfo user_quota;
+
+ if (s->cct->_conf->rgw_bucket_default_quota_max_objects >= 0) {
+ bucket_quota.max_objects = s->cct->_conf->rgw_bucket_default_quota_max_objects;
+ bucket_quota.enabled = true;
+ }
+
+ if (s->cct->_conf->rgw_bucket_default_quota_max_size >= 0) {
+ bucket_quota.max_size_kb = s->cct->_conf->rgw_bucket_default_quota_max_size;
+ bucket_quota.enabled = true;
+ }
+
+ if (s->cct->_conf->rgw_user_default_quota_max_objects >= 0) {
+ user_quota.max_objects = s->cct->_conf->rgw_user_default_quota_max_objects;
+ user_quota.enabled = true;
+ }
+
+ if (s->cct->_conf->rgw_user_default_quota_max_size >= 0) {
+ user_quota.max_size_kb = s->cct->_conf->rgw_user_default_quota_max_size;
+ user_quota.enabled = true;
+ }
+
+ if (bucket_quota.enabled) {
+ op_state.set_bucket_quota(bucket_quota);
+ }
+
+ if (user_quota.enabled) {
+ op_state.set_user_quota(user_quota);
+ }
+
http_ret = RGWUserAdminOp_User::create(store, op_state, flusher);
}
if (op_state.op_mask_specified)
user_info.op_mask = op_state.get_op_mask();
- if (op_state.has_bucket_quota())
+ if (op_state.has_bucket_quota()) {
user_info.bucket_quota = op_state.get_bucket_quota();
+ } else {
+ if (cct->_conf->rgw_bucket_default_quota_max_objects >= 0) {
+ user_info.bucket_quota.max_objects = cct->_conf->rgw_bucket_default_quota_max_objects;
+ user_info.bucket_quota.enabled = true;
+ }
+ if (cct->_conf->rgw_bucket_default_quota_max_size >= 0) {
+ user_info.bucket_quota.max_size_kb = cct->_conf->rgw_bucket_default_quota_max_size;
+ user_info.bucket_quota.enabled = true;
+ }
+ }
if (op_state.temp_url_key_specified) {
map<int, string>::iterator iter;
}
}
- if (op_state.has_user_quota())
+ if (op_state.has_user_quota()) {
user_info.user_quota = op_state.get_user_quota();
+ } else {
+ if (cct->_conf->rgw_user_default_quota_max_objects >= 0) {
+ user_info.user_quota.max_objects = cct->_conf->rgw_user_default_quota_max_objects;
+ user_info.user_quota.enabled = true;
+ }
+ if (cct->_conf->rgw_user_default_quota_max_size >= 0) {
+ user_info.user_quota.max_size_kb = cct->_conf->rgw_user_default_quota_max_size;
+ user_info.user_quota.enabled = true;
+ }
+ }
// update the request
op_state.set_user_info(user_info);