From 567617ebbe717c1f371a630b14c83d8aa044c93f Mon Sep 17 00:00:00 2001 From: Marian Beermann Date: Fri, 8 Jul 2016 18:05:21 +0200 Subject: [PATCH] sync_dir: silence fsync() failing with EINVAL --- src/borg/platform/base.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/borg/platform/base.py b/src/borg/platform/base.py index 51689db25..ef8853e31 100644 --- a/src/borg/platform/base.py +++ b/src/borg/platform/base.py @@ -1,3 +1,4 @@ +import errno import os """ @@ -52,6 +53,11 @@ def sync_dir(path): fd = os.open(path, os.O_RDONLY) try: os.fsync(fd) + except OSError as os_error: + # Some network filesystems don't support this and fail with EINVAL. + # Other error codes (e.g. EIO) shouldn't be silenced. + if os_error.errno != errno.EINVAL: + raise finally: os.close(fd)