summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster/dht/src')
-rw-r--r--xlators/cluster/dht/src/dht-rebalance.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c
index ffc7fdff3f5..d6718c55489 100644
--- a/xlators/cluster/dht/src/dht-rebalance.c
+++ b/xlators/cluster/dht/src/dht-rebalance.c
@@ -881,8 +881,7 @@ __dht_check_free_space (xlator_t *this, xlator_t *to, xlator_t *from, loc_t *loc
dht_layout_t *layout = NULL;
uint64_t src_statfs_blocks = 1;
uint64_t dst_statfs_blocks = 1;
- double post_availspace = 0;
- double post_percent = 0;
+ double post_availspacepercent = 0;
int i = 0;
xdata = dict_new ();
@@ -975,9 +974,12 @@ __dht_check_free_space (xlator_t *this, xlator_t *to, xlator_t *from, loc_t *loc
check_avail_space:
if (conf->disk_unit == 'p' && dst_statfs.f_blocks) {
- post_availspace = (dst_statfs.f_bavail * dst_statfs.f_frsize) - stbuf->ia_size;
- post_percent = (post_availspace * 100) / (dst_statfs.f_blocks * dst_statfs.f_frsize);
- if (post_percent < conf->min_free_disk) {
+ post_availspacepercent = (dst_statfs.f_bavail * 100) / dst_statfs.f_blocks;
+ gf_msg_debug (this->name, 0, "file : %s, post_availspacepercent : %lf "
+ "f_bavail : %lu min-free-disk: %lf", loc->path,
+ post_availspacepercent, dst_statfs.f_bavail, conf->min_free_disk);
+
+ if (post_availspacepercent < conf->min_free_disk) {
gf_msg (this->name, GF_LOG_WARNING, 0, 0,
"Write will cross min-free-disk for "
"file - %s on subvol - %s. Looking "
@@ -991,7 +993,11 @@ check_avail_space:
}
if (conf->disk_unit != 'p' &&
- ((dst_statfs.f_bavail * dst_statfs.f_frsize) - stbuf->ia_size) < conf->min_free_disk) {
+ ((dst_statfs.f_bavail * dst_statfs.f_frsize) < conf->min_free_disk)) {
+ gf_msg_debug (this->name, 0, "file : %s, destination frsize: %lu "
+ "f_bavail : %lu min-free-disk: %lf", loc->path,
+ dst_statfs.f_frsize, dst_statfs.f_bavail, conf->min_free_disk);
+
gf_msg (this->name, GF_LOG_WARNING, 0, 0, "Write will cross "
"min-free-disk for file - %s on subvol - %s. Looking "
"for new subvol", loc->path, to->name);