瀏覽代碼

Do not retry on permission errors

snsmac 2 年之前
父節點
當前提交
045d428ecc
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      src/borg/archiver/create_cmd.py

+ 5 - 0
src/borg/archiver/create_cmd.py

@@ -1,3 +1,4 @@
+import errno
 import sys
 import argparse
 import logging
@@ -370,6 +371,10 @@ class CreateMixIn:
                     self.print_warning("Unknown file type: %s", path)
                     return
             except (BackupError, BackupOSError) as err:
+                if isinstance(err, BackupOSError):
+                    if err.errno in (errno.EPERM, errno.EACCES):
+                        # Do not try again, such errors can not be fixed by retrying.
+                        raise
                 # sleep a bit, so temporary problems might go away...
                 sleep_s = 1000.0 / 1e6 * 10 ** (retry / 2)  # retry 0: 1ms, retry 6: 1s, ...
                 time.sleep(sleep_s)