Răsfoiți Sursa

don't crash in first part of truncate_and_unlink, fixes #3117

(cherry picked from commit 7a689b1295ca647a7f9008df508f303214930d08)
Thomas Waldmann 7 ani în urmă
părinte
comite
a68d463041
1 a modificat fișierele cu 8 adăugiri și 2 ștergeri
  1. 8 2
      src/borg/helpers.py

+ 8 - 2
src/borg/helpers.py

@@ -2,6 +2,7 @@ import argparse
 import contextlib
 import collections
 import enum
+import errno
 import grp
 import hashlib
 import logging
@@ -2283,8 +2284,13 @@ def truncate_and_unlink(path):
     recover. Refer to the "File system interaction" section
     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)