From 137f94ed123b1c7c7ada541aaa599679e19888f6 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Fri, 5 Feb 2010 01:38:29 +0000 Subject: 'lookup-unhashed' option of distribute should be 'auto' by default. * Added 'auto' option, older boolean options works as they used to. * This option should make 'create' rate faster, also handles self-healing of linkfile properly in case of scaling to more servers or filesystem is getting full. Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati BUG: 584 (automatically configure 'lookup-unhashed' option) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=584 --- xlators/cluster/dht/src/dht.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'xlators/cluster/dht/src/dht.c') diff --git a/xlators/cluster/dht/src/dht.c b/xlators/cluster/dht/src/dht.c index d947ae8145b..d7f187457fc 100644 --- a/xlators/cluster/dht/src/dht.c +++ b/xlators/cluster/dht/src/dht.c @@ -259,10 +259,11 @@ init (xlator_t *this) goto err; } - conf->search_unhashed = 0; - + conf->search_unhashed = GF_DHT_LOOKUP_UNHASHED_AUTO; if (dict_get_str (this->options, "lookup-unhashed", &temp_str) == 0) { - gf_string2boolean (temp_str, &conf->search_unhashed); + /* If option is not "auto", other options _should_ be boolean */ + if (strcasecmp (temp_str, "auto")) + gf_string2boolean (temp_str, &conf->search_unhashed); } conf->unhashed_sticky_bit = 0; @@ -409,8 +410,10 @@ struct xlator_cbks cbks = { struct volume_options options[] = { - { .key = {"lookup-unhashed"}, - .type = GF_OPTION_TYPE_BOOL + { .key = {"lookup-unhashed"}, + .value = {"auto", "yes", "no", "enable", "disable", "1", "0", + "on", "off"}, + .type = GF_OPTION_TYPE_STR }, { .key = {"min-free-disk"}, .type = GF_OPTION_TYPE_PERCENT_OR_SIZET, -- cgit