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.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/rgw/rgw_user.cc b/src/rgw/rgw_user.cc
index 9a75ba69b9e..8a636d1cae3 100644
--- a/src/rgw/rgw_user.cc
+++ b/src/rgw/rgw_user.cc
@@ -1639,6 +1639,9 @@ int RGWUser::execute_add(RGWUserAdminOpState& op_state, std::string *err_msg)
user_info.max_buckets = op_state.get_max_buckets();
user_info.suspended = op_state.get_suspension_status();
+ if (op_state.op_mask_specified)
+ user_info.op_mask = op_state.get_op_mask();
+
// update the request
op_state.set_user_info(user_info);
op_state.set_populated();
@@ -1835,6 +1838,9 @@ int RGWUser::execute_modify(RGWUserAdminOpState& op_state, std::string *err_msg)
if (op_state.max_buckets_specified)
user_info.max_buckets = max_buckets;
+ if (op_state.op_mask_specified)
+ user_info.op_mask = op_state.get_op_mask();
+
if (op_state.has_suspension_op()) {
__u8 suspended = op_state.get_suspension_status();
user_info.suspended = suspended;