From: Gui Hecheng Date: Thu, 29 Jun 2017 06:39:55 +0000 (+0800) Subject: rgw_file: skip object policy read for ListBucket operations X-Git-Tag: v12.1.1~85^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=53dfb74d421c360e8870417af359562f08c88cbb;p=ceph.git rgw_file: skip object policy read for ListBucket operations We don't need to read read object policy for a ListBucket operation (RGWReaddir, RGWRMdirCheck, RGWStatLeaf). Also, there are "virtual" directories that do not have a corresponding object, read object policy on them results in ENOENT for RGWStatLeaf. Signed-off-by: Gui Hecheng --- diff --git a/src/rgw/rgw_file.h b/src/rgw/rgw_file.h index b93b59284093..01c883865e74 100644 --- a/src/rgw/rgw_file.h +++ b/src/rgw/rgw_file.h @@ -1313,7 +1313,7 @@ public: op = this; } - bool only_bucket() override { return false; } + bool only_bucket() override { return true; } int op_init() override { // assign store, s, and dialect_handler @@ -1476,7 +1476,7 @@ public: op = this; } - bool only_bucket() override { return false; } + bool only_bucket() override { return true; } int op_init() override { // assign store, s, and dialect_handler @@ -2092,7 +2092,7 @@ public: op = this; } - bool only_bucket() override { return false; } + bool only_bucket() override { return true; } int op_init() override { // assign store, s, and dialect_handler