diff options
| author | Aravinda VK <avishwan@redhat.com> | 2016-11-17 17:07:36 +0530 | 
|---|---|---|
| committer | Aravinda VK <avishwan@redhat.com> | 2016-12-02 00:21:40 -0800 | 
| commit | e3f26f662c0cfb2c94afec84f2d2490db624f618 (patch) | |
| tree | 48b2b0745e397d571244d65942c6b7a3d7e3b5b5 /geo-replication/syncdaemon/resource.py | |
| parent | 131790335f5cbc406a2043b49c06f604a7656649 (diff) | |
geo-rep: Handle ENOENT during unlink
Do not raise traceback if a file/dir not exists during
unlink or rmdir
> Reviewed-on: http://review.gluster.org/15868
> Smoke: Gluster Build System <jenkins@build.gluster.org>
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
BUG: 1399090
Change-Id: Idd43ca1fa6ae6056c3cd493f0e2f151880a3968c
Signed-off-by: Aravinda VK <avishwan@redhat.com>
(cherry picked from commit ecd6da0a754f21909dbbd8189228f5a27a15df3e)
Reviewed-on: http://review.gluster.org/15939
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Saravanakumar Arumugam <sarumuga@redhat.com>
Diffstat (limited to 'geo-replication/syncdaemon/resource.py')
| -rw-r--r-- | geo-replication/syncdaemon/resource.py | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index 6d26a56a7bf..d284b8fb590 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -784,11 +784,13 @@ class Server(object):                          if st.st_ino == st1.st_ino:                              # we have a hard link, we can now unlink source                              try: -                                os.unlink(entry) +                                errno_wrap(os.unlink, [entry], +                                           [ENOENT, ESTALE])                              except OSError as e:                                  if e.errno == EISDIR:                                      try: -                                        os.rmdir(entry) +                                        errno_wrap(os.rmdir, [entry], +                                                   [ENOENT, ESTALE])                                      except OSError as e:                                          if e.errno == ENOTEMPTY:                                              logging.error(  | 
