From bfda47fef4e431699d72d8323fdf6bdbbc74445e Mon Sep 17 00:00:00 2001
From: Daira Hopwood <daira@jacaranda.org>
Date: Mon, 31 Aug 2015 17:52:55 +0100
Subject: [PATCH] replace_file should not fail if replaced_path does not exist.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
---
 src/allmydata/util/fileutil.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/allmydata/util/fileutil.py b/src/allmydata/util/fileutil.py
index 9a194e99..2debc7f7 100644
--- a/src/allmydata/util/fileutil.py
+++ b/src/allmydata/util/fileutil.py
@@ -619,7 +619,11 @@ else:
         if not os.path.exists(replacement_path):
             raise ConflictError("Replacement file not found: %r" % (replacement_path,))
         try:
-            os.rename(replaced_path, backup_path)
+            try:
+                os.rename(replaced_path, backup_path)
+            except OSError as e:
+                if e.errno != errno.EEXIST:
+                    raise
             rename_no_overwrite(replacement_path, replaced_path)
         except EnvironmentError:
             reraise(ConflictError)
-- 
2.45.2