Skip to content

Commit 696251c

Browse files
committed
rgw/admin: 'bucket chown' skips object acls for BucketOwnerEnforced
Signed-off-by: Casey Bodley <[email protected]>
1 parent e834454 commit 696251c

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/rgw/rgw_bucket.cc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,14 @@ int rgw_chown_bucket_and_objects(rgw::sal::Driver* driver, rgw::sal::Bucket* buc
139139
/* Chown on the bucket */
140140
int ret = bucket->chown(dpp, new_user->get_id(), y);
141141
if (ret < 0) {
142-
set_err_msg(err_msg, "Failed to change object ownership: " + cpp_strerror(-ret));
142+
set_err_msg(err_msg, "Failed to change bucket ownership: " + cpp_strerror(-ret));
143+
return ret;
144+
}
145+
146+
// skip object acls when BucketOwnerEnforced
147+
if (auto ownership = rgw::s3::get_object_ownership(bucket->get_attrs());
148+
ownership == rgw::s3::ObjectOwnership::BucketOwnerEnforced) {
149+
return 0;
143150
}
144151

145152
/* Now chown on all the objects in the bucket */

0 commit comments

Comments
 (0)