diff options
author | Varun Shastry <vshastry@redhat.com> | 2013-04-16 12:11:17 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2013-04-17 04:53:57 -0700 |
commit | 0ab16bb29a2e242714a76a3bad31921142c7dd35 (patch) | |
tree | 2836249721fa81e6acb3c99579cae3981d5619e0 /xlators/cluster/dht/src/dht-common.h | |
parent | 490b791f44135db72cba1d8df9b40a66b457bff2 (diff) |
cluster/dht: Correct min_free_disk behaviourv3.3.2qa2
Problem:
Files were being created in subvol which had less than min_free_disk available
even in the cases where other subvols with more space were available.
Solution:
Changed the logic to look for subvol which has more space available. In cases
where all the subvols have lesser than Min_free_disk available , the one with
max space and atleast one inode is available.
Known Issue: Cannot ensure that first file that is created right after
min-free-value is crossed on a brick will get created in other brick because
disk usage stat takes some time to update in glusterprocess. Will fix that as
part of another bug.
Change-Id: Icaba552db053ad8b00be0914b1f4853fb7661bd3
BUG: 874554
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Signed-off-by: Varun Shastry <vshastry@redhat.com>
Reviewed-on: http://review.gluster.org/4839
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/cluster/dht/src/dht-common.h')
-rw-r--r-- | xlators/cluster/dht/src/dht-common.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h index da83967e76d..a92e9bccb77 100644 --- a/xlators/cluster/dht/src/dht-common.h +++ b/xlators/cluster/dht/src/dht-common.h @@ -664,4 +664,9 @@ gf_defrag_handle_hardlink (xlator_t *this, loc_t *loc, dict_t *xattrs, int dht_migrate_file (xlator_t *this, loc_t *loc, xlator_t *from, xlator_t *to, int flag); +xlator_t * +dht_subvol_with_free_space_inodes (xlator_t *this, xlator_t *subvol); + +xlator_t * +dht_subvol_maxspace_nonzeroinode (xlator_t *this, xlator_t *subvol); #endif/* _DHT_H */ |