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 */  | 
