Bug 801394 - Symlinks are not getting synced on the slave with distribute striped volume.
Symlinks are not getting synced on the slave with distribute striped volume.
Status: CLOSED CURRENTRELEASE
Product: GlusterFS
Classification: Community
Component: geo-replication (Show other bugs)
mainline
x86_64 Linux
urgent Severity urgent
: ---
: ---
Assigned To: Venky Shankar
:
Depends On:
Blocks: 817967
  Show dependency treegraph
 
Reported: 2012-03-08 07:41 EST by Vijaykumar Koppad
Modified: 2014-08-24 20:49 EDT (History)
4 users (show)

See Also:
Fixed In Version: glusterfs-3.4.0
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-07-24 14:04:31 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Vijaykumar Koppad 2012-03-08 07:41:55 EST
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.
Comment 1 shylesh 2012-03-09 01:42:10 EST
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
Comment 2 shylesh 2012-03-09 01:54:38 EST
This is the default behavior of the  backend file system too. time stamp for a soft link will not be updated.
Comment 3 Venky Shankar 2012-03-14 02:09:55 EDT
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.
Comment 4 Anand Avati 2012-03-18 05:19:38 EDT
CHANGE: http://review.gluster.com/2948 (cluster/stripe: fix {set/get}xattr query for dirs/symlink) merged in master by Anand Avati (avati@redhat.com)

Note You need to log in before you can comment on or make changes to this bug.