diff options
author | Venky Shankar <vshankar@redhat.com> | 2013-08-13 11:09:31 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-09-04 20:49:12 -0700 |
commit | 2f305eaed9805ff32c95680c5ac83e001d100cdc (patch) | |
tree | 1625971cf041b66491de40851549c697d854ab92 /xlators/mgmt/glusterd | |
parent | a6a74c926be767decbcf55dc7d95228c6a62df12 (diff) |
gsyncd / geo-rep: "disjoint" cascading geo-replication sessions
Slave's xtime is now stored on the master itself (and that too only on
the root), which implies it cannot be propogated to the cascaded slave.
Thus the intermediate master now makes use of it's own volume information
to propogate volume-mark and xtime.
On starting Geo-Replication "geo-replication.ignore-pid-check" marker
option is enabled, which is an override for the client-pid check in
marker. This options triggers marker update only for geo-replication
auxillary mount (client-pid == -1). Since gsyncd not does setxattr()
directly on the bricks, this option won't trigger a chain of spurious
metadata updates that would need to be processed by gsyncd.
Change-Id: If50c5ef275dfb6b4ff4fd35be2565587e2fdf3e1
BUG: 996371
Original Author: Venky Shankar <vshankar@redhat.com>
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/5592
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Tested-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-geo-rep.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c index 745bc282ce8..05599989813 100644 --- a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c +++ b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c @@ -2832,6 +2832,15 @@ glusterd_set_gsync_confs (glusterd_volinfo_t *volinfo) if (ret) goto out; + /** + * enable ignore-pid-check blindly as it could be needed for + * cascading setups. + */ + ret = glusterd_set_gsync_knob (volinfo, VKEY_MARKER_XTIME_FORCE, + &volfile_changed); + if (ret) + goto out; + ret = glusterd_set_gsync_knob (volinfo, VKEY_CHANGELOG, &volfile_changed); if (ret) |