Description of problem: With distribute stripe volume as master , and plane directory as slave, When you create symlink , it won't get synced on slave. Plane distribute and distribute replicate volume seems to work fine. Culprit might be stripe translator. Version-Release number of selected component (if applicable):3.3 master [9ae2f79879b295639b55411c5339eba04e627345] How reproducible:always Steps to Reproduce: 1.Start geo-rep session with distribute striped volume as master and plane directory as slave(can be on the same machine to make it simpler ). 2.create a regular file, and symlink to that on master. 3. It won't get synced on the slave.
The problem is with stripe. time stamps are not getting updated on a link file. [root@RHEL6 mnt]# stat testfile File: `testfile' -> `/testfile' Size: 9 Blocks: 0 IO Block: 131072 symbolic link Device: 15h/21d Inode: 10608527655181040018 Links: 1 Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2012-03-09 01:36:29.646159892 -0500 Modify: 2012-03-09 01:36:24.965139175 -0500 Change: 2012-03-09 01:36:24.965139175 -0500 [root@RHEL6 mnt]# touch testfile [root@RHEL6 mnt]# stat testfile File: `testfile' -> `/testfile' Size: 9 Blocks: 0 IO Block: 131072 symbolic link Device: 15h/21d Inode: 10608527655181040018 Links: 1 Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2012-03-09 01:36:29.646159892 -0500 Modify: 2012-03-09 01:36:24.965139175 -0500 Change: 2012-03-09 01:36:24.965139175 -0500
This is the default behavior of the backend file system too. time stamp for a soft link will not be updated.
Non-data files (links, fifo, device files) are only created in the first subvolume (stripe's first subvol). But while fetching xtime extended attribute the code winds to all subvol's are propogated the errno upwards on the xlator stack. Since the file is present only in the first subvol - we get a ENOENT from all but the first wind and hence send this errno upwards. Fix will be to wind to the first child for non-data entities.
CHANGE: http://review.gluster.com/2948 (cluster/stripe: fix {set/get}xattr query for dirs/symlink) merged in master by Anand Avati (avati)