diff options
Diffstat (limited to 'xlators/cluster/afr/src/afr.c')
-rw-r--r-- | xlators/cluster/afr/src/afr.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr.c b/xlators/cluster/afr/src/afr.c index 6e59fd46328..1b172d50e60 100644 --- a/xlators/cluster/afr/src/afr.c +++ b/xlators/cluster/afr/src/afr.c @@ -182,7 +182,10 @@ reconfigure (xlator_t *this, dict_t *options) priv->read_child = index; } - GF_OPTION_RECONF ("pre-op-compat", priv->pre_op_compat, options, bool, out); + GF_OPTION_RECONF ("pre-op-compat", priv->pre_op_compat, options, bool, + out); + GF_OPTION_RECONF ("locking-scheme", priv->locking_scheme, options, str, + out); GF_OPTION_RECONF ("eager-lock", priv->eager_lock, options, bool, out); GF_OPTION_RECONF ("quorum-type", qtype, options, str, out); @@ -375,6 +378,7 @@ init (xlator_t *this) GF_OPTION_INIT ("entrylk-trace", priv->entrylk_trace, bool, out); GF_OPTION_INIT ("pre-op-compat", priv->pre_op_compat, bool, out); + GF_OPTION_INIT ("locking-scheme", priv->locking_scheme, str, out); GF_OPTION_INIT ("eager-lock", priv->eager_lock, bool, out); GF_OPTION_INIT ("quorum-type", qtype, str, out); @@ -879,5 +883,13 @@ struct volume_options options[] = { .description = "This option can be used to control number of heals" " that can wait in SHD per subvolume", }, + { .key = {"locking-scheme"}, + .type = GF_OPTION_TYPE_STR, + .value = { "full", "granular"}, + .default_value = "full", + .description = "If this option is set to granular, self-heal will " + "stop being compatible with afr-v1, which helps afr " + "be more granular while self-healing", + }, { .key = {NULL} }, }; |