From 51ff065b8b9d2117688053cddb29186e3135c4a1 Mon Sep 17 00:00:00 2001 From: Raghavendra Gowdappa Date: Fri, 14 Dec 2018 11:27:33 +0530 Subject: performance/ob: make open-behind as a child of quick-read With read-after-open being set to yes by default, if open-behind sees any reads, it'll do an open on backend (and hence flush/release later). This means with the current order of quick-read and open-behind, open-behind sees all reads and hence also does open bringing down performance for small file reads. Since for small files, reads are absorbed by quick-read, if quick-read is made a parent of open-behind, ob doesn't witness any reads. For read-only workloads, this means ob doen't do any opens (even with read-after-open yes and use-anonymous-fd no). Change-Id: I138a42b006d104cff43ee6f07829e39c36f6f234 Signed-off-by: Raghavendra Gowdappa Fixes: bz#1659327 --- xlators/mgmt/glusterd/src/glusterd-volume-set.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index 755c13ed29a..fd5a8227c6b 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -1701,15 +1701,6 @@ struct volopt_map_entry glusterd_volopt_map[] = { .op_version = 1, .description = "enable/disable io-cache translator in the volume.", .flags = VOLOPT_FLAG_CLIENT_OPT}, - {.key = "performance.quick-read", - .voltype = "performance/quick-read", - .option = "!perf", - .value = "on", - .op_version = 1, - .description = "enable/disable quick-read translator in the volume.", - .flags = VOLOPT_FLAG_CLIENT_OPT | VOLOPT_FLAG_XLATOR_OPT - - }, {.key = "performance.open-behind", .voltype = "performance/open-behind", .option = "!perf", @@ -1719,6 +1710,13 @@ struct volopt_map_entry glusterd_volopt_map[] = { .flags = VOLOPT_FLAG_CLIENT_OPT | VOLOPT_FLAG_XLATOR_OPT }, + {.key = "performance.quick-read", + .voltype = "performance/quick-read", + .option = "!perf", + .value = "on", + .op_version = 1, + .description = "enable/disable quick-read translator in the volume.", + .flags = VOLOPT_FLAG_CLIENT_OPT | VOLOPT_FLAG_XLATOR_OPT}, {.key = "performance.nl-cache", .voltype = "performance/nl-cache", .option = "!perf", -- cgit