diff options
| author | Aravinda VK <avishwan@redhat.com> | 2015-06-17 15:46:01 -0400 | 
|---|---|---|
| committer | Venky Shankar <vshankar@redhat.com> | 2015-06-26 19:08:15 -0700 | 
| commit | b335fbe14e0afbec3cf50409707f3c8df5d5c01d (patch) | |
| tree | f94560056b94f8c507f590058c7a3e704a842df8 /geo-replication/syncdaemon/resource.py | |
| parent | 257668d97e0fd3f290ac8415c60dfc11510cc786 (diff) | |
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: 1232912
Change-Id: I02015f508d901e4a74dd48e1c52423e78eaf1dcd
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/11296
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'geo-replication/syncdaemon/resource.py')
| -rw-r--r-- | geo-replication/syncdaemon/resource.py | 8 | 
1 files changed, 4 insertions, 4 deletions
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,  | 
