diff options
| author | Aravinda VK <avishwan@redhat.com> | 2015-06-17 15:46:01 -0400 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2015-06-28 07:47:40 -0700 | 
| commit | 088711acdaaf8935718171bd79ae053ae8fc3d75 (patch) | |
| tree | 893da112e4d3354d4a9d77542d5b8b08491d3ebc /geo-replication/syncdaemon/master.py | |
| parent | 8305c0e52b0933d55bb08e3d0b42da8b39e9cab9 (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: 1236093
Change-Id: I53f8dfa47911da93e0dcc20213afcbb47a14ccd8
Reviewed-On: http://review.gluster.org/11296
Original-Author: Aravinda VK <avishwan@redhat.com>
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-on: http://review.gluster.org/11430
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'geo-replication/syncdaemon/master.py')
| -rw-r--r-- | geo-replication/syncdaemon/master.py | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index 6c96a02a74b..37be4fc3adc 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -18,7 +18,7 @@ import fcntl  import string  import errno  import tarfile -from errno import ENOENT, ENODATA, EEXIST, EACCES, EAGAIN +from errno import ENOENT, ENODATA, EEXIST, EACCES, EAGAIN, ESTALE  from threading import Condition, Lock  from datetime import datetime  from gconf import gconf @@ -853,7 +853,7 @@ class GMasterChangelogMixin(GMasterCommon):                          entry_update()                          entries.append(edct(ty, stat=st, entry=en, gfid=gfid))                      elif ty == 'SYMLINK': -                        rl = errno_wrap(os.readlink, [en], [ENOENT]) +                        rl = errno_wrap(os.readlink, [en], [ENOENT], [ESTALE])                          if isinstance(rl, int):                              continue                          entry_update()  | 
