From e32da3e7c880eaf7cb84d1c078447b28e1d8052b 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 --- 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 26238c91215c..c2a0f6a7d9c6 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 577df8527041..832572713973 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