]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: do not pre-fetch data for HEAD requests 4501/head
authorGuang Yang <yguang@yahoo-inc.com>
Tue, 3 Mar 2015 09:46:52 +0000 (09:46 +0000)
committerLoic Dachary <ldachary@redhat.com>
Wed, 29 Apr 2015 18:13:40 +0000 (20:13 +0200)
Backport: hammer

Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
(cherry picked from commit e32da3e7c880eaf7cb84d1c078447b28e1d8052b)

src/rgw/rgw_op.cc
src/rgw/rgw_op.h

index bf7247ef6595e25c40ddeb6c83e0e49cc4808ba5..3ec8dbae08260e10bf81cd5730223946ba3cd484 100644 (file)
@@ -448,7 +448,8 @@ int RGWGetObj::verify_permission()
 {
   obj = rgw_obj(s->bucket, s->object);
   store->set_atomic(s->obj_ctx, obj);
-  store->set_prefetch_data(s->obj_ctx, obj);
+  if (get_data)
+    store->set_prefetch_data(s->obj_ctx, obj);
 
   if (!verify_object_permission(s, RGW_PERM_READ))
     return -EACCES;
index 4a735769827f4aa9270da0c887b1a152da05caf2..a009ec38e8077ba031d7135f9053a27617180cd8 100644 (file)
@@ -157,7 +157,7 @@ public:
     ret = 0;
  }
 
-  virtual bool prefetch_data() { return true; }
+  virtual bool prefetch_data() { return get_data; }
 
   void set_get_data(bool get_data) {
     this->get_data = get_data;