diff options
| author | Susant Palai <spalai@redhat.com> | 2017-04-11 17:27:17 +0530 | 
|---|---|---|
| committer | Raghavendra G <rgowdapp@redhat.com> | 2017-04-13 05:57:42 -0400 | 
| commit | c2ea4463ab4ce04936a824f7e8c7c133aabe1381 (patch) | |
| tree | b947e25ceb44b5c819bb177466e093839212ba05 /xlators/cluster/dht/src/dht-common.h | |
| parent | 94afe2ca98a8ed9effb05901fc89d3b7bb6d0d41 (diff) | |
cluster/dht: Make rebalance honor min-free-disk
test:  Manual
created files of size 1K on 2 brick(of size 1GB) setup .
added a brick of size 16GB.
set min-free-disk to 12GB(so that first two bricks won't receive any files).
removed one of the 1st brick of size 1GB.
Logs from test:
[2017-04-12 08:52:08.196484] W [MSGID: 0] [dht-rebalance.c:895:__dht_check_free_space]
 0-test1-dht: Write will cross min-free-disk for file - /tile32 on subvol - test1-client-1.
Looking for new subvol.
[2017-04-12 08:52:08.196904] I [MSGID: 0] [dht-rebalance.c:925:__dht_check_free_space]
0-test1-dht: new target found - test1-client-2 for file - /tile32
 - Post migration we have two files. The new destination (/brick/1) has the data file
[root@vm1 ~]# ll /brick/1/tile32
-rw-r--r--. 2 root root 0 Apr 12 14:22 /brick/1/tile32
 - On the old target the linkto file is there with linkto xattr pointing to /brick/1
[root@vm1 ~]# ll /tmp/2/tile32
---------T. 2 root root 1000 Apr 12 14:22 /tmp/2/tile32
[root@vm1 ~]# getfattr -m . -de text /tmp/2/tile32
getfattr: Removing leading '/' from absolute path names
security.selinux="unconfined_u:object_r:user_tmp_t:s0"
trusted.gfid="����:Aс�#�/'b2"
trusted.glusterfs.dht.linkto="test1-client-2"
Marking ./tests/features/worm_sh.t as bad test.
Reason being, this patch failed on master branch as well and it has nothing
to do with rebalance/remove-brick.
BUG: 1441508
Change-Id: I90bae251cda3d957a49cdceda90cd08311a392fb
Signed-off-by: Susant Palai <spalai@redhat.com>
Reviewed-on: https://review.gluster.org/17034
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'xlators/cluster/dht/src/dht-common.h')
| -rw-r--r-- | xlators/cluster/dht/src/dht-common.h | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h index 4e9f02cf256..4555152db54 100644 --- a/xlators/cluster/dht/src/dht-common.h +++ b/xlators/cluster/dht/src/dht-common.h @@ -316,6 +316,9 @@ struct dht_du {          uint64_t avail_space;          uint32_t log;          uint32_t chunks; +        uint32_t total_blocks; +        uint32_t avail_blocks; +        uint32_t frsize; /*fragment size*/  };  typedef struct dht_du dht_du_t; @@ -1151,7 +1154,7 @@ gf_boolean_t  dht_is_subvol_in_layout (dht_layout_t *layout, xlator_t *xlator);  xlator_t *  dht_subvol_with_free_space_inodes (xlator_t *this, xlator_t *subvol, -                                   dht_layout_t *layout); +                                   dht_layout_t *layout, uint64_t filesize);  xlator_t *  dht_subvol_maxspace_nonzeroinode (xlator_t *this, xlator_t *subvol,                                    dht_layout_t *layout);  | 
