From 4d2ec1d0d6bebcfb19e0c4ecf741ddd29bb28e58 Mon Sep 17 00:00:00 2001 From: Kotresh HR Date: Tue, 28 Jul 2015 14:37:47 +0530 Subject: geo-rep: Do not crash worker on ESTALE Handle ESTALE returned by lstat gracefully by retrying it. Do not crash the worker. Change-Id: I2527cd8bd1f7d2428cb4fa3f20782bebaf2df12a BUG: 1247529 Signed-off-by: Kotresh HR Reviewed-on: http://review.gluster.org/11772 Tested-by: Gluster Build System Tested-by: NetBSD Build System Reviewed-by: Aravinda VK Reviewed-by: Venky Shankar --- geo-replication/syncdaemon/syncdutils.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/geo-replication/syncdaemon/syncdutils.py b/geo-replication/syncdaemon/syncdutils.py index b565ec66cb5..3feadb83f32 100644 --- a/geo-replication/syncdaemon/syncdutils.py +++ b/geo-replication/syncdaemon/syncdutils.py @@ -489,15 +489,7 @@ def errno_wrap(call, arg=[], errnos=[], retry_errnos=[]): def lstat(e): - try: - return os.lstat(e) - except (IOError, OSError): - ex = sys.exc_info()[1] - if ex.errno == ENOENT: - return ex.errno - else: - raise - + return errno_wrap(os.lstat, [e], [ENOENT], [ESTALE]) class NoPurgeTimeAvailable(Exception): pass -- cgit