diff options
author | Venky Shankar <vshankar@redhat.com> | 2013-12-12 17:03:09 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-02-06 01:54:52 -0800 |
commit | aa7b0c640818df25b4f0297b1931ff52a77121bf (patch) | |
tree | 17e5240932e5aae2edd4cb165761069d3d2d0cc2 /geo-replication/syncdaemon/resource.py | |
parent | cbf6a264bd124c6b193709ad0e09c260c7d1845b (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.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index 05c63e88ae8..41add6fb287 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 |