diff options
author | Aravinda VK <avishwan@redhat.com> | 2015-12-29 11:20:39 +0530 |
---|---|---|
committer | Aravinda VK <avishwan@redhat.com> | 2016-03-08 01:58:37 -0800 |
commit | 5a35bee2057b80809ecdd97abe5cce2d39b2da8a (patch) | |
tree | 94d108b03a170ec4396ef232c012dafd27907e4f /tools | |
parent | 478203fd9447cbc67c7cdc2980d6bdf4881984bf (diff) |
geo-rep: Handle ERANGE error during listxattr
llistxattr in Geo-rep is two syscall instead of one
SIZE = llistxattr(PATH, &BUF, 0);
BUF = create_buf(SIZE);
_ = llistxattr(PATH, &BUF, SIZE);
So if any new xattrs added just after first call by any other worker,
second syscall will fail with ERANGE error.
Now Geo-rep sends BUF with large size(256*100) and gets value
with only one syscall. Raises OSError if fails with ERANGE error
even after sending large BUF.
Change-Id: I8ade4bbe9a0a8ea908ed9dedcd3f2ff4c6fe6f51
Signed-off-by: Aravinda VK <avishwan@redhat.com>
BUG: 1313311
Reviewed-on: http://review.gluster.org/13106
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit 656a0e64e5f465561ed29297421ec150de32f2a1)
Reviewed-on: http://review.gluster.org/13560
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions