Description of problem: Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Created attachment 617484 [details] log
Created attachment 617485 [details] rebalance log
Description of problem: DHT - Hash layout for Directory is getting changed when sub-volume is down and user performs rebalance operation, as a result at same level multiple files can be created having same name Version-Release number of selected component (if applicable): 3.3.0rhs-28.el6rhs.x86_64 How reproducible: always Steps to Reproduce: 1. Create a Distributed volume having 3 or more sub-volumes on multiple server and start that volume. 2. Fuse Mount the volume from the client-1 using “mount -t glusterfs server:/<volume> <client-1_mount_point>” 3. From mount point create some dirs and files inside it. verify has layout for directory/root [root@Rhs1 t1]# getfattr -d -m . -e hex /home/t1 getfattr: Removing leading '/' from absolute path names # file: home/t1 security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a686f6d655f726f6f745f743a733000 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x0000000100000000aaaaaaaaffffffff trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c [root@Rhs2 t1]# getfattr -d -m . -e hex /home/t1 getfattr: Removing leading '/' from absolute path names # file: home/t1 security.selinux=0x73797374656d5f753a6f626a6563745f723a686f6d655f726f6f745f743a733000 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x00000001000000000000000055555554 trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c [root@Rhs3 t1]# getfattr -d -m . -e hex /home/t1 getfattr: Removing leading '/' from absolute path names # file: home/t1 security.selinux=0x73797374656d5f753a6f626a6563745f723a686f6d655f726f6f745f743a733000 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x000000010000000055555555aaaaaaa9 trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c 4. Bring on of the sub-volume down. 5. Execute rebalance. gluster volume rebalance <volname> start 6. check the hash layout for directory/root level. It is changed. [root@Rhs1 t1]# getfattr -d -m . -e hex /home/t1 getfattr: Removing leading '/' from absolute path names # file: home/t1 security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a686f6d655f726f6f745f743a733000 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x0000000100000000000000007ffffffe trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c [root@Rhs2 t1]# getfattr -d -m . -e hex /home/t1 getfattr: Removing leading '/' from absolute path names # file: home/t1 security.selinux=0x73797374656d5f753a6f626a6563745f723a686f6d655f726f6f745f743a733000 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x00000001000000007fffffffffffffff trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c 7. Now from mount point try to create files which exixts in down sub-vol . Files would be created successfully 8. Bring all the sub-vols up 9. Execute ls command from mount point , multiple files with same name will be present. [root@client test]# ls f1 f11 f13 f15 f17 f19 f20 f22 f24 f26 f28 f3 f31 f33 f35 f37 f39 f40 f6 f8 f10 f12 f14 f16 f18 f2 f21 f23 f25 f27 f29 f30 f32 f34 f36 f38 f4 f5 f7 f9 [root@client test]# touch f11 [root@client test]# touch f14 [root@client test]# ls f1 f11 f12 f14 f15 f17 f19 f20 f22 f24 f26 f28 f3 f31 f33 f35 f37 f39 f40 f6 f8 f10 f11 f13 f14 f16 f18 f2 f21 f23 f25 f27 f29 f30 f32 f34 f36 f38 f4 f5 f7 f9 Actual results: rebalance is fixing directory lay out eventhough one brick/sub-vol is down Expected results: rebalance should not fix directory layout when any brick/sub-vol is down
Sent fix for review http://review.gluster.org/#change,4000
verified on 3.3.0.5rhs-40 working as per expectation - not fixing directory layout when any brick/sub-vol is down hence changing status as verified