summaryrefslogtreecommitdiffstats
path: root/geo-replication/syncdaemon/resource.py
diff options
context:
space:
mode:
Diffstat (limited to 'geo-replication/syncdaemon/resource.py')
-rw-r--r--geo-replication/syncdaemon/resource.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py
index 2e607799c57..69644bc1e90 100644
--- a/geo-replication/syncdaemon/resource.py
+++ b/geo-replication/syncdaemon/resource.py
@@ -618,11 +618,12 @@ class Server(object):
if not matching_disk_gfid(gfid, entry):
return
- er = errno_wrap(os.unlink, [entry], [ENOENT, ESTALE, EISDIR])
+ er = errno_wrap(os.unlink, [entry], [ENOENT, ESTALE, EISDIR],
+ [EBUSY])
if isinstance(er, int):
if er == EISDIR:
er = errno_wrap(os.rmdir, [entry], [ENOENT, ESTALE,
- ENOTEMPTY])
+ ENOTEMPTY], [EBUSY])
if er == ENOTEMPTY:
return er
@@ -677,7 +678,7 @@ class Server(object):
if not matching_disk_gfid(gfid, entry):
return
er = errno_wrap(os.remove, [fullname], [ENOENT, ESTALE,
- EISDIR])
+ EISDIR], [EBUSY])
if er == EISDIR:
recursive_rmdir(gfid, entry, fullname)
@@ -685,7 +686,7 @@ class Server(object):
if not matching_disk_gfid(gfid, entry):
return
- errno_wrap(os.rmdir, [path], [ENOENT, ESTALE])
+ errno_wrap(os.rmdir, [path], [ENOENT, ESTALE], [EBUSY])
def rename_with_disk_gfid_confirmation(gfid, entry, en):
if not matching_disk_gfid(gfid, entry):
@@ -698,7 +699,7 @@ class Server(object):
cmd_ret = errno_wrap(os.rename,
[entry, en],
- [ENOENT, EEXIST], [ESTALE])
+ [ENOENT, EEXIST], [ESTALE, EBUSY])
collect_failure(e, cmd_ret)
@@ -788,12 +789,12 @@ class Server(object):
# we have a hard link, we can now unlink source
try:
errno_wrap(os.unlink, [entry],
- [ENOENT, ESTALE])
+ [ENOENT, ESTALE], [EBUSY])
except OSError as e:
if e.errno == EISDIR:
try:
errno_wrap(os.rmdir, [entry],
- [ENOENT, ESTALE])
+ [ENOENT, ESTALE], [EBUSY])
except OSError as e:
if e.errno == ENOTEMPTY:
logging.error(
@@ -811,7 +812,7 @@ class Server(object):
cmd_ret = errno_wrap(Xattr.lsetxattr,
[pg, 'glusterfs.gfid.newfile', blob],
[EEXIST, ENOENT],
- [ESTALE, EINVAL])
+ [ESTALE, EINVAL, EBUSY])
failed = collect_failure(e, cmd_ret)
# If directory creation is failed, return immediately before