summaryrefslogtreecommitdiffstats
path: root/geo-replication/syncdaemon/resource.py
diff options
context:
space:
mode:
authorVenky Shankar <vshankar@redhat.com>2013-12-12 17:03:09 +0530
committerVijay Bellur <vbellur@redhat.com>2014-02-06 01:54:52 -0800
commitaa7b0c640818df25b4f0297b1931ff52a77121bf (patch)
tree17e5240932e5aae2edd4cb165761069d3d2d0cc2 /geo-replication/syncdaemon/resource.py
parentcbf6a264bd124c6b193709ad0e09c260c7d1845b (diff)
gsyncd / geo-rep: ignore DHTs sticky bit file during crawl
Change-Id: Ide927759c6a3d5301475eac9f6e785aa901d426e BUG: 1036539 Signed-off-by: Venky Shankar <vshankar@redhat.com> Reviewed-on: http://review.gluster.org/6792 Reviewed-by: Kotresh HR <khiremat@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'geo-replication/syncdaemon/resource.py')
-rw-r--r--geo-replication/syncdaemon/resource.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py
index 05c63e88a..41add6fb2 100644
--- a/geo-replication/syncdaemon/resource.py
+++ b/geo-replication/syncdaemon/resource.py
@@ -321,6 +321,18 @@ class Server(object):
else:
raise
+ @classmethod
+ @_pathguard
+ def linkto_check(cls, path):
+ try:
+ return not (Xattr.lgetxattr_buf(path, 'trusted.glusterfs.dht.linkto') == '')
+ except (IOError, OSError):
+ ex = sys.exc_info()[1]
+ if ex.errno in (ENOENT, ENODATA):
+ return False
+ else:
+ raise
+
@classmethod
@_pathguard
@@ -1139,6 +1151,9 @@ class GLUSTER(AbstractUrl, SlaveLocal, SlaveRemote):
def gfid(cls, e):
""" path based backend gfid fetch """
return super(brickserver, cls).gfid(e)
+ @classmethod
+ def linkto_check(cls, e):
+ return super(brickserver, cls).linkto_check(e)
if gconf.slave_id:
# define {,set_}xtime in slave, thus preempting
# the call to remote, so that it takes data from