diff options
Diffstat (limited to 'geo-replication')
| -rw-r--r-- | geo-replication/syncdaemon/configinterface.py.in | 4 | ||||
| -rw-r--r-- | geo-replication/syncdaemon/gsyncd.py | 1 | ||||
| -rw-r--r-- | geo-replication/syncdaemon/master.py | 6 | ||||
| -rw-r--r-- | geo-replication/syncdaemon/resource.py | 3 | 
4 files changed, 11 insertions, 3 deletions
diff --git a/geo-replication/syncdaemon/configinterface.py.in b/geo-replication/syncdaemon/configinterface.py.in index 0ffff70e0bb..1c174b5b760 100644 --- a/geo-replication/syncdaemon/configinterface.py.in +++ b/geo-replication/syncdaemon/configinterface.py.in @@ -42,6 +42,10 @@ CONFIGS = (       "gluster_params",       "aux-gfid-mount xlator-option=\*-dht.assert-no-child-down=true",       "aux-gfid-mount"), +    ("peersrx .", +     "gluster_params", +     "aux-gfid-mount", +     "aux-gfid-mount acl"),      ("peersrx . .",       "ssh_command_tar",       "", diff --git a/geo-replication/syncdaemon/gsyncd.py b/geo-replication/syncdaemon/gsyncd.py index 1542810bcd7..0aefe7e2c44 100644 --- a/geo-replication/syncdaemon/gsyncd.py +++ b/geo-replication/syncdaemon/gsyncd.py @@ -232,6 +232,7 @@ def main_i():      op.add_option('--isolated-slave', default=False, action='store_true')      op.add_option('--use-rsync-xattrs', default=False, action='store_true')      op.add_option('--sync-xattrs', default=True, action='store_true') +    op.add_option('--sync-acls', default=True, action='store_true')      op.add_option('--pause-on-start', default=False, action='store_true')      op.add_option('-L', '--log-level', metavar='LVL')      op.add_option('-r', '--remote-gsyncd', metavar='CMD', diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index e60624391a1..721ad9c3635 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -1001,9 +1001,9 @@ class GMasterChangelogMixin(GMasterCommon):                      else:                          meta_gfid.add((os.path.join(pfx, ec[0]), ))                  elif ec[1] == 'SETXATTR': -                    # To sync xattr use rsync/tar, --xattrs switch -                    # to rsync and tar -                    if boolify(gconf.sync_xattrs): +                    # To sync xattr/acls use rsync/tar, --xattrs and --acls +                    # switch to rsync and tar +                    if boolify(gconf.sync_xattrs) or boolify(gconf.sync_acls):                          datas.add(os.path.join(pfx, ec[0]))              else:                  logging.warn('got invalid changelog type: %s' % (et)) diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index 10c6406e283..a1281012264 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -831,6 +831,7 @@ class SlaveRemote(object):               '--stats', '--numeric-ids', '--no-implied-dirs'] + \              gconf.rsync_options.split() + \              (boolify(gconf.sync_xattrs) and ['--xattrs'] or []) + \ +            (boolify(gconf.sync_acls) and ['--acls'] or []) + \              ['.'] + list(args)          po = Popen(argv, stdin=subprocess.PIPE, stderr=subprocess.PIPE)          for f in files: @@ -854,10 +855,12 @@ class SlaveRemote(object):          (host, rdir) = slaveurl.split(':')          tar_cmd = ["tar"] + \              (boolify(gconf.sync_xattrs) and ['--xattrs'] or []) + \ +            (boolify(gconf.sync_acls) and ['--acls'] or []) + \              ["-cf", "-", "--files-from", "-"]          ssh_cmd = gconf.ssh_command_tar.split() + \              [host, "tar"] + \              (boolify(gconf.sync_xattrs) and ['--xattrs'] or []) + \ +            (boolify(gconf.sync_acls) and ['--acls'] or []) + \              ["--overwrite", "-xf", "-", "-C", rdir]          p0 = Popen(tar_cmd, stdout=subprocess.PIPE,                     stdin=subprocess.PIPE, stderr=subprocess.PIPE)  | 
