From 8e973d3ab96d290a32ae3fdbdd1cf867b7060483 Mon Sep 17 00:00:00 2001 From: Jeff Darcy Date: Tue, 31 Oct 2017 09:56:11 -0700 Subject: core: make gf_boolean_t a C99 bool instead of an enum This reduces the space used from four bytes to one, and allows new code to use familiar C99 types/values interoperably with our old cruft. It does *not* change current declarations or code; that will be left for a separate - much larger - patch. Updates: #80 Change-Id: I5baedd17d3fb05b38f0d8b8bb9dd62824475842e Signed-off-by: Jeff Darcy --- xlators/cluster/dht/src/dht-common.h | 1 + xlators/cluster/dht/src/dht-shared.c | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'xlators/cluster') diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h index f3e2c5cf41e..0b51dbac5e0 100644 --- a/xlators/cluster/dht/src/dht-common.h +++ b/xlators/cluster/dht/src/dht-common.h @@ -29,6 +29,7 @@ #define GF_XATTR_TIER_LAYOUT_FIXED_KEY "trusted.tier.fix.layout.complete" #define GF_XATTR_FILE_MIGRATE_KEY "trusted.distribute.migrate-data" #define DHT_MDS_STR "mds" +#define GF_DHT_LOOKUP_UNHASHED_OFF 0 #define GF_DHT_LOOKUP_UNHASHED_ON 1 #define GF_DHT_LOOKUP_UNHASHED_AUTO 2 #define DHT_PATHINFO_HEADER "DISTRIBUTE:" diff --git a/xlators/cluster/dht/src/dht-shared.c b/xlators/cluster/dht/src/dht-shared.c index 38de31d1ec9..f6ca8bd0926 100644 --- a/xlators/cluster/dht/src/dht-shared.c +++ b/xlators/cluster/dht/src/dht-shared.c @@ -769,13 +769,18 @@ dht_init (xlator_t *this) if (dict_get_str (this->options, "lookup-unhashed", &temp_str) == 0) { /* If option is not "auto", other options _should_ be boolean */ if (strcasecmp (temp_str, "auto")) { - ret = gf_string2boolean (temp_str, - &conf->search_unhashed); - if (ret == -1) + gf_boolean_t search_unhashed_bool; + ret = gf_string2boolean (temp_str, &search_unhashed_bool); + if (ret == -1) { goto err; + } + conf->search_unhashed = search_unhashed_bool + ? GF_DHT_LOOKUP_UNHASHED_ON + : GF_DHT_LOOKUP_UNHASHED_OFF; } - else + else { conf->search_unhashed = GF_DHT_LOOKUP_UNHASHED_AUTO; + } } GF_OPTION_INIT ("lookup-optimize", conf->lookup_optimize, bool, err); -- cgit