From c78cc00afb6deb8022db60dbe8649335f61bd345 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Thu, 19 Mar 2015 14:52:18 +0100 Subject: [PATCH] rgw: rectify 202 Accepted in response for PUT on existing bucket. Fixes: #11148 Backport: hammer Signed-off-by: Radoslaw Zarzynski (cherry picked from commit 3998fe7e02a6c25a3302c80a9c9907357fd3a23e) --- src/rgw/rgw_op.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index d2804e57343..bf6c3e7fd08 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -1399,10 +1399,11 @@ void RGWCreateBucket::execute() /* bucket already existed, might have raced with another bucket creation, or * might be partial bucket creation that never completed. Read existing bucket * info, verify that the reported bucket owner is the current user. - * If all is ok then update the user's list of buckets + * If all is ok then update the user's list of buckets. + * Otherwise inform client about a name conflict. */ if (info.owner.compare(s->user.user_id) != 0) { - ret = -ERR_BUCKET_EXISTS; + ret = -EEXIST; return; } s->bucket = info.bucket; @@ -1414,10 +1415,9 @@ void RGWCreateBucket::execute() if (ret < 0) { ldout(s->cct, 0) << "WARNING: failed to unlink bucket: ret=" << ret << dendl; } - } - - if (ret == -EEXIST) + } else if (ret == -EEXIST || (ret == 0 && existed)) { ret = -ERR_BUCKET_EXISTS; + } } int RGWDeleteBucket::verify_permission() -- 2.47.3