]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #23544 from joke-lee/wip-multiobjdelete-num-limit
authorCasey Bodley <cbodley@users.noreply.github.com>
Wed, 19 Sep 2018 14:37:38 +0000 (10:37 -0400)
committerGitHub <noreply@github.com>
Wed, 19 Sep 2018 14:37:38 +0000 (10:37 -0400)
rgw: delete multi object num limit

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
1  2 
src/common/legacy_config_opts.h
src/common/options.cc
src/rgw/rgw_op.cc
src/rgw/rgw_op.h

Simple merge
Simple merge
index 3267060276b13e9b5c21edbbff23e36d59625718,5a37e7b9e526603b09a0e0164c78dd89adbebcaf..0dbcec12c77c3268050d8ac0cbe2a9555a2304a5
@@@ -6153,20 -6038,10 +6163,20 @@@ void RGWDeleteMultiObj::execute(
    }
  
    for (iter = multi_delete->objects.begin();
-         iter != multi_delete->objects.end() && num_processed < max_to_delete;
-         ++iter, num_processed++) {
+         iter != multi_delete->objects.end();
+         ++iter) {
      rgw_obj obj(bucket, *iter);
 -    if (s->iam_policy) {
 +    if (s->iam_policy || ! s->iam_user_policies.empty()) {
 +      auto usr_policy_res = eval_user_policies(s->iam_user_policies, s->env,
 +                                              *s->auth.identity,
 +                                              iter->instance.empty() ?
 +                                              rgw::IAM::s3DeleteObject :
 +                                              rgw::IAM::s3DeleteObjectVersion,
 +                                              obj);
 +      if (usr_policy_res == Effect::Deny) {
 +        send_partial_response(*iter, false, "", -EACCES);
 +        continue;
 +      }
        auto e = s->iam_policy->eval(s->env,
                                   *s->auth.identity,
                                   iter->instance.empty() ?
Simple merge