From 088711acdaaf8935718171bd79ae053ae8fc3d75 Mon Sep 17 00:00:00 2001 From: Aravinda VK Date: Wed, 17 Jun 2015 15:46:01 -0400 Subject: geo-rep: ignore ESTALE as ENOENT When DHT can't resolve a File it raises ESTALE, ignore ESTALE errors same as ENOENT after retry. Affected places: Xattr.lgetxattr os.listdir os.link Xattr.lsetxattr os.chmod os.chown os.utime os.readlink BUG: 1236093 Change-Id: I53f8dfa47911da93e0dcc20213afcbb47a14ccd8 Reviewed-On: http://review.gluster.org/11296 Original-Author: Aravinda VK Signed-off-by: Kotresh HR Reviewed-on: http://review.gluster.org/11430 Tested-by: NetBSD Build System Reviewed-by: Milind Changire Reviewed-by: Vijay Bellur --- geo-replication/syncdaemon/resource.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'geo-replication/syncdaemon/resource.py') diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index ba92a4a53fd..c73347aaf17 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -377,7 +377,7 @@ class Server(object): def gfid_mnt(cls, gfidpath): return errno_wrap(Xattr.lgetxattr, [gfidpath, 'glusterfs.gfid.string', - cls.GX_GFID_CANONICAL_LEN], [ENOENT]) + cls.GX_GFID_CANONICAL_LEN], [ENOENT], [ESTALE]) @classmethod @_pathguard @@ -647,7 +647,7 @@ class Server(object): return names = [] - names = errno_wrap(os.listdir, [path], [ENOENT]) + names = errno_wrap(os.listdir, [path], [ENOENT], [ESTALE]) if isinstance(names, int): return @@ -708,7 +708,7 @@ class Server(object): else: cmd_ret = errno_wrap(os.link, [slink, entry], - [ENOENT, EEXIST]) + [ENOENT, EEXIST], [ESTALE]) collect_failure(e, cmd_ret) elif op == 'SYMLINK': blob = entry_pack_symlink(gfid, bname, e['link'], e['stat']) @@ -722,7 +722,7 @@ class Server(object): else: cmd_ret = errno_wrap(os.rename, [entry, en], - [ENOENT, EEXIST]) + [ENOENT, EEXIST], [ESTALE]) collect_failure(e, cmd_ret) if blob: cmd_ret = errno_wrap(Xattr.lsetxattr, -- cgit