Aravinda VK d0a3b4307e geo-rep: Fixing issue with xsync upper limit
While identifying the file/dir to sync, xtime of the file was compared
with xsync_upper_limit as `xtime < xsync_upper_limit` After the sync,
xtime of parent directory is updated as stime. With the upper limit
condition, stime is updated as MIN(xtime_parent, xsync_upper_limit)

With this files will get missed if `xtime_of_file == xsync_upper_limit`

With this patch xtime_of_file is compared as
xtime_of_file <= xsync_upper_limit

BUG: 1128093
Change-Id: I5022ce67ba503ed4621531a649a16fc06b2229d9
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/8439
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
2014-08-19 23:27:26 -07:00
..
2014-04-07 21:56:55 -07:00
2014-04-07 21:56:55 -07:00
2014-04-07 21:56:55 -07:00
2014-04-07 21:56:55 -07:00

gsycnd, the Gluster Syncdaemon

REQUIREMENTS

gsyncd is a program which can operate either in master or in slave mode. Requirements are categorized according to this.

  • supported OS is GNU/Linux
  • Python >= 2.5, or 2.4 with Ctypes (see below) (both)
  • OpenSSH >= 4.0 (master) / SSH2 compliant sshd (eg. openssh) (slave)
  • rsync (both)
  • glusterfs: with marker and changelog support (master & slave);
  • FUSE: glusterfs fuse module with auxilary gfid based access support

INSTALLATION

As of now, the supported way of operation is running from the source directory or using the RPMs given.

If you use Python 2.4.x, you need to install the Ctypes module.

CONFIGURATION

gsyncd tunables are a subset of the long command-line options; for listing them, type

gsyncd.py --help

and see the long options up to "--config-file". (The leading double dash should be omitted; interim underscores and dashes are interchangeable.) The set of options bear some resemblance to those of glusterfs and rsync.

The config file format matches the following syntax:

  <option1>: <value1>
  <option2>: <value2>
  # comment

By default (unless specified by the option -c), gsyncd looks for config file at conf/gsyncd_template.conf in the source tree.

USAGE

gsyncd is a utilitly for continous mirroring, ie. it mirrors master to slave incrementally. Assume we have a gluster volume pop at localhost. We try to set up the mirroring for volume pop using gsyncd for gluster volume moz on remote machine/cluster @ example.com. The respective gsyncd invocations are (demoing some syntax sugaring):

gsyncd.py :pop example.com::moz

gsyncd has to be available on both sides; it's location on the remote side has to be specified via the "--remote-gsyncd" option (or "remote-gsyncd" config file parameter). (This option can also be used for setting options on the remote side, although the suggested mode of operation is to set parameters like log file / pid file in the configuration file.)