]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: do not pre-fetch data for HEAD requests 3861/head
authorGuang Yang <yguang@yahoo-inc.com>
Tue, 3 Mar 2015 09:46:52 +0000 (09:46 +0000)
committerGuang Yang <yguang@yahoo-inc.com>
Thu, 5 Mar 2015 00:58:12 +0000 (00:58 +0000)
Backport: hammer

Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
src/rgw/rgw_op.cc
src/rgw/rgw_op.h

index 26238c91215cb7bf3384af56632b4d0d67545d77..c2a0f6a7d9c62335291efd87dd7b2f66977c30d1 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 577df8527041d47ce699fe532ee7ceffd419d7c5..832572713973a7d6e95b13309f6bc048ba884557 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;