diff options
| -rw-r--r-- | xlators/performance/readdir-ahead/src/readdir-ahead.c | 15 | ||||
| -rw-r--r-- | xlators/performance/readdir-ahead/src/readdir-ahead.h | 1 | 
2 files changed, 16 insertions, 0 deletions
diff --git a/xlators/performance/readdir-ahead/src/readdir-ahead.c b/xlators/performance/readdir-ahead/src/readdir-ahead.c index 82e877512c5..8f5a1f44ca5 100644 --- a/xlators/performance/readdir-ahead/src/readdir-ahead.c +++ b/xlators/performance/readdir-ahead/src/readdir-ahead.c @@ -636,6 +636,8 @@ reconfigure(xlator_t *this, dict_t *options)                           size_uint64, err);          GF_OPTION_RECONF("rda-cache-limit", priv->rda_cache_limit, options,                           size_uint64, err); +        GF_OPTION_RECONF("parallel-readdir", priv->parallel_readdir, options, +                         bool, err);  	return 0;  err: @@ -681,6 +683,8 @@ init(xlator_t *this)                         err);          GF_OPTION_INIT("rda-cache-limit", priv->rda_cache_limit, size_uint64,                         err); +        GF_OPTION_INIT("parallel-readdir", priv->parallel_readdir, bool, +                       err);  	return 0; @@ -748,6 +752,17 @@ struct volume_options options[] = {                           "value, irrespective of the number/size of "                           "directories cached",          }, +        { .key = {"parallel-readdir"}, +          .type = GF_OPTION_TYPE_BOOL, +          .op_version = {GD_OP_VERSION_3_10_0}, +          .flags = OPT_FLAG_SETTABLE | OPT_FLAG_CLIENT_OPT | OPT_FLAG_DOC, +          .default_value = "off", +          .description = "If this option is enabled, the readdir operation " +                         "is performed in parallel on all the bricks, thus " +                         "improving the performance of readdir. Note that " +                         "the performance improvement is higher in large " +                         "clusters" +        },          { .key = {NULL} },  }; diff --git a/xlators/performance/readdir-ahead/src/readdir-ahead.h b/xlators/performance/readdir-ahead/src/readdir-ahead.h index dda1a69246c..3c06cc0f107 100644 --- a/xlators/performance/readdir-ahead/src/readdir-ahead.h +++ b/xlators/performance/readdir-ahead/src/readdir-ahead.h @@ -45,6 +45,7 @@ struct rda_priv {  	uint64_t rda_high_wmark;          uint64_t rda_cache_limit;          gf_atomic_t rda_cache_size; +        gf_boolean_t parallel_readdir;  };  #endif /* __READDIR_AHEAD_H */  | 
