<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/geo-replication/syncdaemon/resource.py, branch v3.12.13</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>geo-rep: Fix syncing of symlink</title>
<updated>2018-06-11T10:17:36+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2018-04-13T14:52:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=978e85fcd53895cc4902ea0ab3cfcfacc1077315'/>
<id>978e85fcd53895cc4902ea0ab3cfcfacc1077315</id>
<content type='text'>
Problem:
If symlink is created on master pointing
to current directory (e.g symlink -&gt; ".") with
non root uid or gid, geo-rep worker crashes
with ENOTSUP.

Cause:
Geo-rep creates the symlink on slave and
fixes the uid and gid using chown cmd.
os.chown dereferences the symlink which is
pointing to ".gfid" which is not supported.
Note that geo-rep operates on aux-gfid-mount
(e.g. "/mnt/.gfid/&lt;gfid-of-symlink-file&gt;").

Solution:
The uid or gid change is acutally on symlink
file. So use os.lchown, i.e, don't deference.

Backport of 
&gt; BUG: 1567209
&gt; Patch: https://review.gluster.org/20017

BUG: 1577845
fixes: bz#1577845
Change-Id: I63575fc589d71f987bef1d350c030987738c78ad
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
If symlink is created on master pointing
to current directory (e.g symlink -&gt; ".") with
non root uid or gid, geo-rep worker crashes
with ENOTSUP.

Cause:
Geo-rep creates the symlink on slave and
fixes the uid and gid using chown cmd.
os.chown dereferences the symlink which is
pointing to ".gfid" which is not supported.
Note that geo-rep operates on aux-gfid-mount
(e.g. "/mnt/.gfid/&lt;gfid-of-symlink-file&gt;").

Solution:
The uid or gid change is acutally on symlink
file. So use os.lchown, i.e, don't deference.

Backport of 
&gt; BUG: 1567209
&gt; Patch: https://review.gluster.org/20017

BUG: 1577845
fixes: bz#1577845
Change-Id: I63575fc589d71f987bef1d350c030987738c78ad
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix data sync issue during hardlink, rename</title>
<updated>2018-02-02T06:46:34+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-11-13T10:27:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e9d98d0e02e1817e5939d87a0cad6a796bce32cf'/>
<id>e9d98d0e02e1817e5939d87a0cad6a796bce32cf</id>
<content type='text'>
Problem:
The data is not getting synced if master witnessed
IO as below.

1. echo "test_data" &gt; f1
2. ln f1 f2
3. mv f2 f3
4. unlink f1

On master, 'f3' exists with data "test_data" but on
slave, only f3 exists with zero byte file without
backend gfid link.

Cause:
On master, since 'f2' no longer exists, the hardlink
is skipped during processing. Later, on trying to sync
rename, since source ('f2') doesn't exist, dst ('f3')
is created with same gfid. But in this use case, it
succeeds but backend gfid would not have linked as 'f1'
exists with the same gfid. So, rsync would fail with
ENOENT as backend gfid is not linked with 'f3' and 'f1'
is unlinked.

Fix:
On processing rename, if src doesn't exist on slave,
don't blindly create dst with same gfid. The gfid
needs to be checked, if it exists, hardlink needs
to be created instead of mknod.

Thanks Aravinda for helping in RCA :)

&gt; Change-Id: I5af4f99798ed1bcb297598a4bc796b701d1e0130
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
&gt; BUG: 1512483
&gt; Reporter: dimitri.ars@gmail.com
(cherry picked from commit 6e2ce37341e5d600d8fd5648b39eec0dbdbe45ad)

Change-Id: I5af4f99798ed1bcb297598a4bc796b701d1e0130
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
BUG: 1510342
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
The data is not getting synced if master witnessed
IO as below.

1. echo "test_data" &gt; f1
2. ln f1 f2
3. mv f2 f3
4. unlink f1

On master, 'f3' exists with data "test_data" but on
slave, only f3 exists with zero byte file without
backend gfid link.

Cause:
On master, since 'f2' no longer exists, the hardlink
is skipped during processing. Later, on trying to sync
rename, since source ('f2') doesn't exist, dst ('f3')
is created with same gfid. But in this use case, it
succeeds but backend gfid would not have linked as 'f1'
exists with the same gfid. So, rsync would fail with
ENOENT as backend gfid is not linked with 'f3' and 'f1'
is unlinked.

Fix:
On processing rename, if src doesn't exist on slave,
don't blindly create dst with same gfid. The gfid
needs to be checked, if it exists, hardlink needs
to be created instead of mknod.

Thanks Aravinda for helping in RCA :)

&gt; Change-Id: I5af4f99798ed1bcb297598a4bc796b701d1e0130
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
&gt; BUG: 1512483
&gt; Reporter: dimitri.ars@gmail.com
(cherry picked from commit 6e2ce37341e5d600d8fd5648b39eec0dbdbe45ad)

Change-Id: I5af4f99798ed1bcb297598a4bc796b701d1e0130
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
BUG: 1510342
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Add ENODATA to retry list on gfid getxattr</title>
<updated>2017-10-12T18:38:06+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-10-07T02:42:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e59c078f5ad8b92966033f9c008193938ba6f3ca'/>
<id>e59c078f5ad8b92966033f9c008193938ba6f3ca</id>
<content type='text'>
During xsync crawl, worker occasionally crashed
with ENODATA on getting gfid from backend. This
is not persistent and is transient. Worker restart
invovles re-processing of few entries in changenlogs.
So adding ENODATA to retry list to avoid worker
restart.

&gt; Change-Id: Ib78d1e925c0a83c78746f28f7c79792a327dfd3e
&gt; BUG: 1499391
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
(cherry picked from commit b56bdb34dafd1a87c5bbb2c9a75d1a088d82b1f4)

Change-Id: Ib78d1e925c0a83c78746f28f7c79792a327dfd3e
BUG: 1500841
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During xsync crawl, worker occasionally crashed
with ENODATA on getting gfid from backend. This
is not persistent and is transient. Worker restart
invovles re-processing of few entries in changenlogs.
So adding ENODATA to retry list to avoid worker
restart.

&gt; Change-Id: Ib78d1e925c0a83c78746f28f7c79792a327dfd3e
&gt; BUG: 1499391
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
(cherry picked from commit b56bdb34dafd1a87c5bbb2c9a75d1a088d82b1f4)

Change-Id: Ib78d1e925c0a83c78746f28f7c79792a327dfd3e
BUG: 1500841
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Add ENOTSUP error to retry list</title>
<updated>2017-10-12T18:27:13+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-10-06T10:02:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e57c81fa658d180e4f70c68bea205a89b7497615'/>
<id>e57c81fa658d180e4f70c68bea205a89b7497615</id>
<content type='text'>
os.listdir gives ENOTSUP on gfid path occasionally
which is not persistant. Adding it to retry list
to avoid worker to crash if it's transient error.

&gt; Change-Id: Ic795dd1f02a27c9e5d901e20722ee32451838feb
&gt; BUG: 1499180
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
(cherry picked from commit 3afbe4201d864d2e886509f5633468aa344fa444)

Change-Id: Ic795dd1f02a27c9e5d901e20722ee32451838feb
BUG: 1500396
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
os.listdir gives ENOTSUP on gfid path occasionally
which is not persistant. Adding it to retry list
to avoid worker to crash if it's transient error.

&gt; Change-Id: Ic795dd1f02a27c9e5d901e20722ee32451838feb
&gt; BUG: 1499180
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
(cherry picked from commit 3afbe4201d864d2e886509f5633468aa344fa444)

Change-Id: Ic795dd1f02a27c9e5d901e20722ee32451838feb
BUG: 1500396
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix syncing of hardlink of symlink</title>
<updated>2017-08-29T12:42:31+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-08-08T14:12:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=b04b3dd4dc8fcff9ad44e31d1da810eba223cd08'/>
<id>b04b3dd4dc8fcff9ad44e31d1da810eba223cd08</id>
<content type='text'>
Problem:
If there is a hardlink to a symlink on master
and if the symlink file is deleted on master,
geo-rep fails to sync the hardlink.

Typical Usecase:
It's easily hit with rsnapshot use case where
it uses hardlinks.

Example Reproducer:
Setup geo-replication between master and slave
volume and in master mount point, do the following.

 1. mkdir /tmp/symlinkbug
 2. ln -f -s /does/not/exist /tmp/symlinkbug/a_symlink
 3. rsync -a /tmp/symlinkbug ./
 4. cp -al symlinkbug symlinkbug.0
 5. ln -f -s /does/not/exist2 /tmp/symlinkbug/a_symlink
 6. rsync -a /tmp/symlinkbug ./
 7. cp -al symlinkbug symlinkbug.1

Cause:
If the source was not present while syncing hardlink,
it was always packing the blob as regular file.

Fix:
If the source was not present while syncing hardlink,
pack the blob based on the mode.

&gt; Change-Id: Iaa12d6f99de47b18e0650e7c4eb455f23f8390f2
&gt; BUG: 1432046
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
&gt; Reported-by: Christian Lohmaier &lt;lohmaier+rhbz@gmail.com&gt;
&gt; Reviewed-on: https://review.gluster.org/18011
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
(cherry picked from commit e893962deaabab8e934813f8a0443a8f94e009f2)

Change-Id: Iaa12d6f99de47b18e0650e7c4eb455f23f8390f2
BUG: 1486120
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18127
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
If there is a hardlink to a symlink on master
and if the symlink file is deleted on master,
geo-rep fails to sync the hardlink.

Typical Usecase:
It's easily hit with rsnapshot use case where
it uses hardlinks.

Example Reproducer:
Setup geo-replication between master and slave
volume and in master mount point, do the following.

 1. mkdir /tmp/symlinkbug
 2. ln -f -s /does/not/exist /tmp/symlinkbug/a_symlink
 3. rsync -a /tmp/symlinkbug ./
 4. cp -al symlinkbug symlinkbug.0
 5. ln -f -s /does/not/exist2 /tmp/symlinkbug/a_symlink
 6. rsync -a /tmp/symlinkbug ./
 7. cp -al symlinkbug symlinkbug.1

Cause:
If the source was not present while syncing hardlink,
it was always packing the blob as regular file.

Fix:
If the source was not present while syncing hardlink,
pack the blob based on the mode.

&gt; Change-Id: Iaa12d6f99de47b18e0650e7c4eb455f23f8390f2
&gt; BUG: 1432046
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
&gt; Reported-by: Christian Lohmaier &lt;lohmaier+rhbz@gmail.com&gt;
&gt; Reviewed-on: https://review.gluster.org/18011
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
(cherry picked from commit e893962deaabab8e934813f8a0443a8f94e009f2)

Change-Id: Iaa12d6f99de47b18e0650e7c4eb455f23f8390f2
BUG: 1486120
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: https://review.gluster.org/18127
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Shyamsundar Ranganathan &lt;srangana@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix syncing of self healed hardlinks</title>
<updated>2017-07-31T16:29:32+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-07-26T12:09:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=1f51ffce563f614053af689a1ee0d84e37232fa7'/>
<id>1f51ffce563f614053af689a1ee0d84e37232fa7</id>
<content type='text'>
Problem:
In a distribute replicate volume, if the hardlinks
are created when a subvolume is down, it gets
healed from other subvolume when it comes up.
If this subvolume becomes ACTIVE in geo-rep
there are chances that those hardlinks won't
be synced to slave.

Cause:
AFR can't detect hardlinks during self heal.
It just create those files using mknod and
the same is recorded in changelog. Geo-rep
processes these mknod and ignores it as
it finds gfid already on slave.

Solution:
Geo-rep should process the mknod as link
if the gfid already exists on slave.

&gt; Change-Id: I2f721b462b38a74c60e1df261662db4b99b32057
&gt; BUG: 1475308
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
&gt; Reviewed-on: https://review.gluster.org/17880
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
(cherry picked from commit d685e4238fafba8f58bf01174c79cb5ca35203e5)

Change-Id: I2f721b462b38a74c60e1df261662db4b99b32057
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
BUG: 1476208
Reviewed-on: https://review.gluster.org/17905
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
In a distribute replicate volume, if the hardlinks
are created when a subvolume is down, it gets
healed from other subvolume when it comes up.
If this subvolume becomes ACTIVE in geo-rep
there are chances that those hardlinks won't
be synced to slave.

Cause:
AFR can't detect hardlinks during self heal.
It just create those files using mknod and
the same is recorded in changelog. Geo-rep
processes these mknod and ignores it as
it finds gfid already on slave.

Solution:
Geo-rep should process the mknod as link
if the gfid already exists on slave.

&gt; Change-Id: I2f721b462b38a74c60e1df261662db4b99b32057
&gt; BUG: 1475308
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
&gt; Reviewed-on: https://review.gluster.org/17880
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
(cherry picked from commit d685e4238fafba8f58bf01174c79cb5ca35203e5)

Change-Id: I2f721b462b38a74c60e1df261662db4b99b32057
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
BUG: 1476208
Reviewed-on: https://review.gluster.org/17905
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Handle possible entry failures gracefully</title>
<updated>2017-07-21T10:38:12+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-06-19T17:40:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=88af8d7ac515fcde1b8dc096afe6dbe7ab40d6ea'/>
<id>88af8d7ac515fcde1b8dc096afe6dbe7ab40d6ea</id>
<content type='text'>
Updates: #246

Change-Id: If0ce83fe8dd3068bfb671f398b2e82ac831288d0
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17577
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Updates: #246

Change-Id: If0ce83fe8dd3068bfb671f398b2e82ac831288d0
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17577
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Structured log support</title>
<updated>2017-06-20T06:00:47+00:00</updated>
<author>
<name>Aravinda VK</name>
<email>avishwan@redhat.com</email>
</author>
<published>2017-06-15T12:39:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=0a8dac38ac4415ea770fb36b34e3c494e8713e6e'/>
<id>0a8dac38ac4415ea770fb36b34e3c494e8713e6e</id>
<content type='text'>
Changed all log messages to structured log format

Change-Id: Idae25f8b4ad0bbae38f4362cbda7bbf51ce7607b
Updates: #240
Signed-off-by: Aravinda VK &lt;avishwan@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17551
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changed all log messages to structured log format

Change-Id: Idae25f8b4ad0bbae38f4362cbda7bbf51ce7607b
Updates: #240
Signed-off-by: Aravinda VK &lt;avishwan@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17551
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix meta data sync on symlink</title>
<updated>2017-06-04T08:27:19+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-05-25T11:28:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=324e81d6fea324d512431a2604086326b8848e9b'/>
<id>324e81d6fea324d512431a2604086326b8848e9b</id>
<content type='text'>
chmod doesn't support 'no dereference' option.
It always deference the symlink. But 'chown'
does support metadata changes on symlink itself,
which was not taken care while syncing. This
patch fixes the same.

Change-Id: Ic9985f4e39d15b5a9deb379841bcfb2c263d3e6c
BUG: 1455559
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17389
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
chmod doesn't support 'no dereference' option.
It always deference the symlink. But 'chown'
does support metadata changes on symlink itself,
which was not taken care while syncing. This
patch fixes the same.

Change-Id: Ic9985f4e39d15b5a9deb379841bcfb2c263d3e6c
BUG: 1455559
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: https://review.gluster.org/17389
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Rsync tunables for performance improvements</title>
<updated>2017-05-23T11:15:47+00:00</updated>
<author>
<name>Aravinda VK</name>
<email>avishwan@redhat.com</email>
</author>
<published>2016-12-02T09:34:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=02979e4663ea9e8a925f785f206d1dba02f253c4'/>
<id>02979e4663ea9e8a925f785f206d1dba02f253c4</id>
<content type='text'>
Flag: --ignore-missing-args
This Rsync flag reduces sync failures if the source file is
unlinked but present in --files-from list. This reduces
Rsync retries in Geo-rep and improves the performance

Flag: --existing
Rsync in Geo-rep never creates target files. Using RPC Geo-rep creates
entry in Slave and rsync --inplace used to prevent creating temporary file
and rename.(To avoid different GFID in Slave). If the entry is missing in
Slave then Geo-rep Rsync gets Permission denied errors when it tries to
create file with name as GFID inside .gfid dir.(Geo-rep rsync syncs data
using GFIDS with aux-gfid-mount)

To disable these flags,

    gluster volume geo-replication &lt;session&gt; config \
        rsync-opt-ignore-missing-args false
    gluster volume geo-replication &lt;session&gt; config \
        rsync-opt-existing false

Thanks Kotresh for finding these awesome tunables.

BUG: 1400924
Change-Id: I6a84fb86a589bf6edc8dfd1086456a84b05a64fc
Signed-off-by: Aravinda VK &lt;avishwan@redhat.com&gt;
Reviewed-on: https://review.gluster.org/16010
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Flag: --ignore-missing-args
This Rsync flag reduces sync failures if the source file is
unlinked but present in --files-from list. This reduces
Rsync retries in Geo-rep and improves the performance

Flag: --existing
Rsync in Geo-rep never creates target files. Using RPC Geo-rep creates
entry in Slave and rsync --inplace used to prevent creating temporary file
and rename.(To avoid different GFID in Slave). If the entry is missing in
Slave then Geo-rep Rsync gets Permission denied errors when it tries to
create file with name as GFID inside .gfid dir.(Geo-rep rsync syncs data
using GFIDS with aux-gfid-mount)

To disable these flags,

    gluster volume geo-replication &lt;session&gt; config \
        rsync-opt-ignore-missing-args false
    gluster volume geo-replication &lt;session&gt; config \
        rsync-opt-existing false

Thanks Kotresh for finding these awesome tunables.

BUG: 1400924
Change-Id: I6a84fb86a589bf6edc8dfd1086456a84b05a64fc
Signed-off-by: Aravinda VK &lt;avishwan@redhat.com&gt;
Reviewed-on: https://review.gluster.org/16010
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
