summaryrefslogtreecommitdiffstats
path: root/xlators/cluster
diff options
context:
space:
mode:
authorPranith Kumar K <pranithk@gluster.com>2012-11-06 12:19:47 +0530
committerVijay Bellur <vbellur@redhat.com>2012-11-23 23:13:39 -0800
commit76a4afec6e03d15cb442e819f6fe7b94d6f9f487 (patch)
tree2b98adca7a192a31e21e6b2d4965aaa80d16403b /xlators/cluster
parent6dee0e3d99dd3423edc6ad2981733fac3ef8c67d (diff)
libglusterfs: Implement float percentage
Change-Id: Ia7ea63471f0bbd74686873f5f6f183475880f1a0 BUG: 839595 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.org/4162 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/cluster')
-rw-r--r--xlators/cluster/dht/src/dht-common.h4
-rw-r--r--xlators/cluster/dht/src/dht.c6
-rw-r--r--xlators/cluster/dht/src/nufa.c13
-rw-r--r--xlators/cluster/dht/src/switch.c18
4 files changed, 21 insertions, 20 deletions
diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h
index be4dea90cc1..0f2df514fb5 100644
--- a/xlators/cluster/dht/src/dht-common.h
+++ b/xlators/cluster/dht/src/dht-common.h
@@ -243,8 +243,8 @@ struct dht_conf {
gf_boolean_t search_unhashed;
int gen;
dht_du_t *du_stats;
- uint64_t min_free_disk;
- uint32_t min_free_inodes;
+ double min_free_disk;
+ double min_free_inodes;
char disk_unit;
int32_t refresh_interval;
gf_boolean_t unhashed_sticky_bit;
diff --git a/xlators/cluster/dht/src/dht.c b/xlators/cluster/dht/src/dht.c
index 80d00c96b55..d7b1e9655e7 100644
--- a/xlators/cluster/dht/src/dht.c
+++ b/xlators/cluster/dht/src/dht.c
@@ -125,8 +125,8 @@ dht_priv_dump (xlator_t *this)
gf_proc_dump_write("search_unhashed", "%d", conf->search_unhashed);
gf_proc_dump_write("gen", "%d", conf->gen);
- gf_proc_dump_write("min_free_disk", "%lu", conf->min_free_disk);
- gf_proc_dump_write("min_free_inodes", "%lu", conf->min_free_inodes);
+ gf_proc_dump_write("min_free_disk", "%lf", conf->min_free_disk);
+ gf_proc_dump_write("min_free_inodes", "%lf", conf->min_free_inodes);
gf_proc_dump_write("disk_unit", "%c", conf->disk_unit);
gf_proc_dump_write("refresh_interval", "%d", conf->refresh_interval);
gf_proc_dump_write("unhashed_sticky_bit", "%d", conf->unhashed_sticky_bit);
@@ -326,7 +326,7 @@ reconfigure (xlator_t *this, dict_t *options)
percent_or_size, out);
/* option can be any one of percent or bytes */
conf->disk_unit = 0;
- if (conf->min_free_disk < 100)
+ if (conf->min_free_disk < 100.0)
conf->disk_unit = 'p';
GF_OPTION_RECONF ("min-free-inodes", conf->min_free_inodes, options,
diff --git a/xlators/cluster/dht/src/nufa.c b/xlators/cluster/dht/src/nufa.c
index 53c66aa45aa..a2a97ab3c76 100644
--- a/xlators/cluster/dht/src/nufa.c
+++ b/xlators/cluster/dht/src/nufa.c
@@ -502,7 +502,8 @@ init (xlator_t *this)
int ret = -1;
int i = 0;
char my_hostname[256];
- uint32_t temp_free_disk = 0;
+ double temp_free_disk = 0;
+ uint64_t size = 0;
if (!this->children) {
gf_log (this->name, GF_LOG_CRITICAL,
@@ -587,16 +588,16 @@ init (xlator_t *this)
if (gf_string2percent (temp_str,
&temp_free_disk) == 0) {
if (temp_free_disk > 100) {
- gf_string2bytesize (temp_str,
- &conf->min_free_disk);
+ gf_string2bytesize (temp_str, &size);
+ conf->min_free_disk = size;
conf->disk_unit = 'b';
} else {
- conf->min_free_disk = (uint64_t)temp_free_disk;
+ conf->min_free_disk = temp_free_disk;
conf->disk_unit = 'p';
}
} else {
- gf_string2bytesize (temp_str,
- &conf->min_free_disk);
+ gf_string2bytesize (temp_str, &size);
+ conf->min_free_disk = size;
conf->disk_unit = 'b';
}
}
diff --git a/xlators/cluster/dht/src/switch.c b/xlators/cluster/dht/src/switch.c
index 0542d7f9afc..2b4f97387bd 100644
--- a/xlators/cluster/dht/src/switch.c
+++ b/xlators/cluster/dht/src/switch.c
@@ -842,7 +842,8 @@ init (xlator_t *this)
char *temp_str = NULL;
int ret = -1;
int i = 0;
- uint32_t temp_free_disk = 0;
+ double temp_free_disk = 0;
+ uint64_t size = 0;
if (!this->children) {
gf_log (this->name, GF_LOG_CRITICAL,
@@ -875,24 +876,23 @@ init (xlator_t *this)
gf_string2boolean (temp_str, &conf->unhashed_sticky_bit);
}
- conf->min_free_disk = 10;
+ conf->min_free_disk = 10.0;
conf->disk_unit = 'p';
if (dict_get_str (this->options, "min-free-disk",
&temp_str) == 0) {
- if (gf_string2percent (temp_str,
- &temp_free_disk) == 0) {
+ if (gf_string2percent (temp_str, &temp_free_disk) == 0) {
if (temp_free_disk > 100) {
- gf_string2bytesize (temp_str,
- &conf->min_free_disk);
+ gf_string2bytesize (temp_str, &size);
+ conf->min_free_disk = size;
conf->disk_unit = 'b';
} else {
- conf->min_free_disk = (uint64_t)temp_free_disk;
+ conf->min_free_disk = temp_free_disk;
conf->disk_unit = 'p';
}
} else {
- gf_string2bytesize (temp_str,
- &conf->min_free_disk);
+ gf_string2bytesize (temp_str, &size);
+ conf->min_free_disk = size;
conf->disk_unit = 'b';
}
}