diff options
author | Kotresh HR <khiremat@redhat.com> | 2017-08-08 10:12:14 -0400 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2017-08-29 12:42:31 +0000 |
commit | b04b3dd4dc8fcff9ad44e31d1da810eba223cd08 (patch) | |
tree | 6835e658214cafdb83fd7d66f17962b0504b05cd /xlators | |
parent | 7e89bcd213fd69dd6da7cdb1ec0699e7b8a547d5 (diff) |
geo-rep: Fix syncing of hardlink of symlink
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.
> Change-Id: Iaa12d6f99de47b18e0650e7c4eb455f23f8390f2
> BUG: 1432046
> Signed-off-by: Kotresh HR <khiremat@redhat.com>
> Reported-by: Christian Lohmaier <lohmaier+rhbz@gmail.com>
> Reviewed-on: https://review.gluster.org/18011
> Smoke: Gluster Build System <jenkins@build.gluster.org>
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
> Reviewed-by: Aravinda VK <avishwan@redhat.com>
(cherry picked from commit e893962deaabab8e934813f8a0443a8f94e009f2)
Change-Id: Iaa12d6f99de47b18e0650e7c4eb455f23f8390f2
BUG: 1486120
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-on: https://review.gluster.org/18127
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Diffstat (limited to 'xlators')
0 files changed, 0 insertions, 0 deletions