From 2f34d2e73bb4bded4779af15a337c75eb2d1497f Mon Sep 17 00:00:00 2001 From: Guang Yang Date: Tue, 3 Mar 2015 09:46:52 +0000 Subject: [PATCH] rgw: do not pre-fetch data for HEAD requests Backport: hammer Signed-off-by: Guang Yang (cherry picked from commit e32da3e7c880eaf7cb84d1c078447b28e1d8052b) --- src/rgw/rgw_op.cc | 3 ++- src/rgw/rgw_op.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index bf7247ef659..3ec8dbae082 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -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; diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h index 4a735769827..a009ec38e80 100644 --- a/src/rgw/rgw_op.h +++ b/src/rgw/rgw_op.h @@ -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; -- 2.47.3