From 2fd4ae628c7940ef5b505666afbf5eae0cc655b9 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. BUG: 1249547 Change-Id: I57fb9933900153ab41c3d9b73748b1cdaa8d89ca 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 Signed-off-by: Kotresh HR Reviewed-on: http://review.gluster.org/11820 Reviewed-by: Milind Changire --- geo-replication/syncdaemon/syncdutils.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'geo-replication') 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