diff options
author | Csaba Henk <csaba@redhat.com> | 2012-07-17 17:46:12 +0200 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2012-07-18 04:56:13 -0700 |
commit | f2e0aad9e3f189a6d2b1cb72e94b55e0b9c043ff (patch) | |
tree | c8c1adf444d9f047e479e4c5453627eabccbcb78 | |
parent | f2c110aa4aa9c1943d9200058fc449c300a01338 (diff) |
geo-rep / gsyncd: rsync option cleanups, fixes
- add two tunables for rsync: "rsync-options" and "rsync-ssh-options"
- always pass "--no-implied-dirs" to rsync
Change-Id: I3d67a4cba8cabd681edac80e6b1fb8ea322008bd
BUG: 841062
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: http://review.gluster.com/3682
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r-- | xlators/features/marker/utils/syncdaemon/gsyncd.py | 2 | ||||
-rw-r--r-- | xlators/features/marker/utils/syncdaemon/resource.py | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/xlators/features/marker/utils/syncdaemon/gsyncd.py b/xlators/features/marker/utils/syncdaemon/gsyncd.py index 165aebda1f9..17b10e5a6fd 100644 --- a/xlators/features/marker/utils/syncdaemon/gsyncd.py +++ b/xlators/features/marker/utils/syncdaemon/gsyncd.py @@ -165,6 +165,8 @@ def main_i(): op.add_option('--session-owner', metavar='ID') op.add_option('-s', '--ssh-command', metavar='CMD', default='ssh') op.add_option('--rsync-command', metavar='CMD', default='rsync') + op.add_option('--rsync-options', metavar='OPTS', default='--sparse') + op.add_option('--rsync-ssh-options', metavar='OPTS', default='--compress') op.add_option('--timeout', metavar='SEC', type=int, default=120) op.add_option('--connection-timeout', metavar='SEC', type=int, default=60, help=SUPPRESS_HELP) op.add_option('--sync-jobs', metavar='N', type=int, default=3) diff --git a/xlators/features/marker/utils/syncdaemon/resource.py b/xlators/features/marker/utils/syncdaemon/resource.py index 0cbbd422381..9ca226f9628 100644 --- a/xlators/features/marker/utils/syncdaemon/resource.py +++ b/xlators/features/marker/utils/syncdaemon/resource.py @@ -531,7 +531,8 @@ class SlaveRemote(object): if not files: raise GsyncdError("no files to sync") logging.debug("files: " + ", ".join(files)) - argv = gconf.rsync_command.split() + ['-aRS', '--super', '--numeric-ids'] + files + list(args) + argv = gconf.rsync_command.split() + ['-aR', '--super', '--numeric-ids', '--no-implied-dirs'] + \ + gconf.rsync_options.split() + files + list(args) po = Popen(argv, stderr=subprocess.PIPE) po.wait() po.terminate_geterr(fail_on_err = False) @@ -954,4 +955,5 @@ class SSH(AbstractUrl, SlaveRemote): return 'should' def rsync(self, files): - return sup(self, files, '-ze', " ".join(gconf.ssh_command.split() + gconf.ssh_ctl_args), self.slaveurl) + return sup(self, files, '-e', " ".join(gconf.ssh_command.split() + gconf.ssh_ctl_args), + *(gconf.rsync_ssh_options.split() + [self.slaveurl])) |