diff options
-rw-r--r-- | geo-replication/syncdaemon/configinterface.py.in | 4 | ||||
-rw-r--r-- | geo-replication/syncdaemon/master.py | 5 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-geo-rep.c | 8 |
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 */ |