summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAravinda VK <avishwan@redhat.com>2016-09-06 12:02:02 +0530
committerAravinda VK <avishwan@redhat.com>2016-09-08 09:15:41 -0700
commit9db2826cd8dbcc0fb58f5434c21d00ca5c15c491 (patch)
tree80e4157f3e063a1c9b9e6c3024ae255da2f1003a
parentc7118a92f52a2fa33ab69f3e3ef1bdabfee847cf (diff)
geo-rep: Fix ESTALE/EINVAL issue during set_{xtime,stime}
Setfattr may get ESTALE/EINVAL if a file is being unlinked. To prevent worker crashing, added retry for these error messages. On second retry it will get ENOENT and that error is handled by ignoring. BUG: 1373373 Change-Id: Ic660fa13208366d57c8d3d492bbef611475e45b7 Signed-off-by: Aravinda VK <avishwan@redhat.com> Reviewed-on: http://review.gluster.org/15404 Reviewed-by: Saravanakumar Arumugam <sarumuga@redhat.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Kotresh HR <khiremat@redhat.com> Smoke: Gluster Build System <jenkins@build.gluster.org>
-rw-r--r--geo-replication/syncdaemon/resource.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py
index ddbf19688c5..0004a839e69 100644
--- a/geo-replication/syncdaemon/resource.py
+++ b/geo-replication/syncdaemon/resource.py
@@ -568,7 +568,8 @@ class Server(object):
[path,
'.'.join([cls.GX_NSPACE, uuid, 'stime']),
struct.pack('!II', *mark)],
- [ENOENT])
+ [ENOENT],
+ [ESTALE, EINVAL])
@classmethod
@_pathguard
@@ -578,7 +579,8 @@ class Server(object):
[path,
'.'.join([cls.GX_NSPACE, uuid, 'entry_stime']),
struct.pack('!II', *mark)],
- [ENOENT])
+ [ENOENT],
+ [ESTALE, EINVAL])
@classmethod
@_pathguard
@@ -588,7 +590,8 @@ class Server(object):
[path,
'.'.join([cls.GX_NSPACE, uuid, 'xtime']),
struct.pack('!II', *mark)],
- [ENOENT])
+ [ENOENT],
+ [ESTALE, EINVAL])
@classmethod
@_pathguard