]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: quota not respected in POST object 4581/head
author9seconds <nineseconds@yandex.ru>
Wed, 1 Apr 2015 06:12:06 +0000 (09:12 +0300)
committerLoic Dachary <ldachary@redhat.com>
Wed, 6 May 2015 12:43:29 +0000 (14:43 +0200)
Signed-off-by: Sergey Arkhipov <nineseconds@yandex.ru>
Backport: hammer, firefly
Fixes: #11323
(cherry picked from commit e76f84e179d2ba8bfc0dc5abf4e620fef14bc8a0)

Conflicts:
src/rgw/rgw_op.cc
        discard the whitespace modification hunk that were creating
conflict and ignore the conflict due to an unrelated cast
        modification in the context

src/rgw/rgw_op.cc

index 3ec8dbae08260e10bf81cd5730223946ba3cd484..86c8bb3466043c5b78da3d0f82ea5ffc5297aca1 100644 (file)
@@ -1944,6 +1944,12 @@ void RGWPostObj::execute()
     goto done;
   }
 
+  ret = store->check_quota(s->bucket_owner.get_id(), s->bucket,
+                           user_quota, bucket_quota, s->content_length);
+  if (ret < 0) {
+    goto done;
+  }
+
   processor = select_processor(*(RGWObjectCtx *)s->obj_ctx);
 
   ret = processor->prepare(store, NULL);
@@ -1979,6 +1985,12 @@ void RGWPostObj::execute()
 
   s->obj_size = ofs;
 
+  ret = store->check_quota(s->bucket_owner.get_id(), s->bucket,
+                           user_quota, bucket_quota, s->obj_size);
+  if (ret < 0) {
+    goto done;
+  }
+
   hash.Final(m);
   buf_to_hex(m, CEPH_CRYPTO_MD5_DIGESTSIZE, calc_md5);