From: Shilpa Jagannath Date: Tue, 30 Jul 2019 08:14:26 +0000 (+0530) Subject: On new uid check, return EEXIST. X-Git-Tag: v15.1.0~1944^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=67e98eb413bdb18a3bcd6565d9926c0662d24354;p=ceph.git On new uid check, return EEXIST. Signed-off-by: Shilpa Jagannath --- diff --git a/src/rgw/rgw_user.cc b/src/rgw/rgw_user.cc index 960246ab096..59664fb8061 100644 --- a/src/rgw/rgw_user.cc +++ b/src/rgw/rgw_user.cc @@ -1962,8 +1962,17 @@ int RGWUser::execute_user_rename(RGWUserAdminOpState& op_state, std::string *err rgw_user& uid = op_state.get_new_uid(); + RGWUserInfo existing_uinfo; + if (!uid.empty()) { + ret = rgw_get_user_info_by_uid(store, uid, existing_uinfo); + if (ret >= 0) { + set_err_msg(err_msg, "user name given by --new-uid already exists"); + return -EEXIST; + } + } + if (old_uid.tenant != uid.tenant) { - set_err_msg(err_msg, "Users have to be under the same tenant namespace " + set_err_msg(err_msg, "users have to be under the same tenant namespace" + old_uid.tenant + "!=" + uid.tenant); return -EINVAL; }