summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--geo-replication/syncdaemon/configinterface.py.in4
-rw-r--r--geo-replication/syncdaemon/master.py5
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-geo-rep.c8
3 files changed, 13 insertions, 4 deletions
diff --git a/geo-replication/syncdaemon/configinterface.py.in b/geo-replication/syncdaemon/configinterface.py.in
index 1c174b5b760..f8df49935f1 100644
--- a/geo-replication/syncdaemon/configinterface.py.in
+++ b/geo-replication/syncdaemon/configinterface.py.in
@@ -60,6 +60,10 @@ CONFIGS = (
"working_dir",
"@localstatedir@/run/gluster/${mastervol}/${eSlave}",
"${iprefix}/lib/misc/glusterfsd/${mastervol}/${eSlave}"),
+ ("peersrx . .",
+ "ignore_deletes",
+ "true",
+ "false"),
)
diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py
index d06b9794c73..b311f4d3591 100644
--- a/geo-replication/syncdaemon/master.py
+++ b/geo-replication/syncdaemon/master.py
@@ -946,8 +946,9 @@ class GMasterChangelogMixin(GMasterCommon):
if pt in datas:
datas.remove(pt)
- purge_update()
- entries.append(edct(ty, gfid=gfid, entry=en))
+ if not boolify(gconf.ignore_deletes):
+ purge_update()
+ entries.append(edct(ty, gfid=gfid, entry=en))
elif ty in ['CREATE', 'MKDIR', 'MKNOD']:
entry_update()
# stat information present in the changelog itself
diff --git a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c
index a190e1c8aea..708d6d3816d 100644
--- a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c
+++ b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c
@@ -51,6 +51,11 @@ struct gsync_config_opt_vals_ gsync_confopt_vals[] = {
.case_sensitive = _gf_false,
.values = {"true", "false", "0", "1", "yes", "no"}
},
+ {.op_name = "ignore_deletes",
+ .no_of_pos_vals = 6,
+ .case_sensitive = _gf_false,
+ .values = {"true", "false", "0", "1", "yes", "no"}
+ },
{.op_name = NULL,
},
};
@@ -63,7 +68,6 @@ static char *gsync_reserved_opts[] = {
"session-owner",
"state-socket-unencoded",
"socketdir",
- "ignore-deletes",
"local-id",
"local-path",
"slave-id",
@@ -5111,7 +5115,7 @@ create_conf_file (glusterd_conf_t *conf, char *conf_path)
/* ignore-deletes */
runinit_gsyncd_setrx (&runner, conf_path);
- runner_add_args (&runner, "ignore-deletes", "true", ".", ".", NULL);
+ runner_add_args (&runner, "ignore-deletes", "false", ".", ".", NULL);
RUN_GSYNCD_CMD;
/* special-sync-mode */