瀏覽代碼

Merge pull request #3118 from ThomasWaldmann/fallback-no-truncate

don't crash in first part of truncate_and_unlink, fixes #3117
TW 7 年之前
父節點
當前提交
17cfc2c4a4
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      src/borg/helpers/fs.py

+ 8 - 2
src/borg/helpers/fs.py

@@ -1,3 +1,4 @@
+import errno
 import os
 import os
 import os.path
 import os.path
 import re
 import re
@@ -141,8 +142,13 @@ def truncate_and_unlink(path):
     recover. Refer to the "File system interaction" section
     recover. Refer to the "File system interaction" section
     in repository.py for further explanations.
     in repository.py for further explanations.
     """
     """
-    with open(path, 'r+b') as fd:
-        fd.truncate()
+    try:
+        with open(path, 'r+b') as fd:
+            fd.truncate()
+    except OSError as err:
+        if err.errno != errno.ENOTSUP:
+            raise
+        # don't crash if the above ops are not supported.
     os.unlink(path)
     os.unlink(path)