diff options
author | Venky Shankar <vshankar@redhat.com> | 2014-01-29 20:27:12 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-02-06 01:56:40 -0800 |
commit | 7289fa908b4355a148adb610534aceee8761a547 (patch) | |
tree | 0103ee1837872b3485e3f6da66fe8301539766d3 /geo-replication/syncdaemon/master.py | |
parent | 5c926a14d8479b2a9aba6aa50478625d444bf42b (diff) |
gsyncd / geo-rep: ignore DHTs sticky bit file during crawl
Change-Id: I0a6eeee8ae192d086b34d316ee1b82c7d76634da
BUG: 1036539
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/6792
Reviewed-on: http://review.gluster.org/6859
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Aravinda VK <avishwan@redhat.com>
Diffstat (limited to 'geo-replication/syncdaemon/master.py')
-rw-r--r-- | geo-replication/syncdaemon/master.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index a7a46e37764..c17e6a2ff38 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -1184,6 +1184,13 @@ class GMasterXsyncMixin(GMasterChangelogMixin): if stime and stime[-1]: self.sync_stime(stime[-1], last) + def is_sticky(self, path, mo): + """check for DHTs linkto sticky bit file""" + sticky = False + if mo & 01000: + sticky = self.master.server.linkto_check(path) + return sticky + def Xcrawl(self, path='.', xtr_root=None): """ generate a CHANGELOG file consumable by process_change. @@ -1235,6 +1242,9 @@ class GMasterXsyncMixin(GMasterChangelogMixin): if isinstance(st, int): logging.warn('%s got purged in the interim ...' % e) continue + if self.is_sticky(e, st.st_mode): + logging.debug('ignoring sticky bit file %s' % e) + continue gfid = self.master.server.gfid(e) if isinstance(gfid, int): logging.warn('skipping entry %s..' % e) |