diff options
author | Milind Changire <mchangir@redhat.com> | 2016-04-22 16:56:47 +0530 |
---|---|---|
committer | Aravinda VK <avishwan@redhat.com> | 2016-06-28 23:41:54 -0700 |
commit | 70fd68d94f768c098b3178c151fa92c5079a8cfd (patch) | |
tree | 84b94505ceadc9aa99754a5e08ffd99908b1cc08 /geo-replication/syncdaemon/master.py | |
parent | 1e60f9746cf7cb8ce34e2b1572410c39b11d7664 (diff) |
georep: add reset-sync-time option for session delete
Set the stime xattr at all the brick roots to (0,0) if the argument
reset-sync-time has been provided on the command-line.
To avoid testing against directory specific stime, the remote
stime is assumed to be minus_infinity, if the root directory
stime is set to (0,0), before the directory scan begins.
This triggers a full volume resync to slave in the case of a
geo-rep session recreation with the same master-slave volume
pair.
Command synopsis:
gluster volume geo-replication <MASTERVOL> <SLAVE>::<SLAVEVOL> delete \
[reset-sync-time]
Update gluster cli man page to include new sub-command reset-sync-time.
Change-Id: Ie4ce03b9425ed9bb81eda8681058c0fc6f990948
BUG: 1311926
Signed-off-by: Milind Changire <mchangir@redhat.com>
Reviewed-on: http://review.gluster.org/14051
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Aravinda VK <avishwan@redhat.com>
Diffstat (limited to 'geo-replication/syncdaemon/master.py')
-rw-r--r-- | geo-replication/syncdaemon/master.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index be68a7fd7b4..80c4d9d8b95 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -1377,6 +1377,9 @@ class GMasterXsyncMixin(GMasterChangelogMixin): "correct xtime for %s (%d)" % (path, xtr)) xtr = self.minus_infinity xtr = max(xtr, xtr_root) + zero_zero = (0, 0) + if xtr_root == zero_zero: + xtr = self.minus_infinity if not self.need_sync(path, xtl, xtr): if path == '.': self.sync_done([(path, xtl)], True) |