Parcourir la source

Improve log message when fsync'ing directory fails (fixes 656)

Unrud il y a 8 ans
Parent
commit
d3a90d16c3
1 fichiers modifiés avec 8 ajouts et 4 suppressions
  1. 8 4
      radicale/storage.py

+ 8 - 4
radicale/storage.py

@@ -688,11 +688,15 @@ class Collection(BaseCollection):
         if not cls.configuration.getboolean("storage", "filesystem_fsync"):
             return
         if os.name == "posix":
-            fd = os.open(path, 0)
             try:
-                cls._fsync(fd)
-            finally:
-                os.close(fd)
+                fd = os.open(path, 0)
+                try:
+                    cls._fsync(fd)
+                finally:
+                    os.close(fd)
+            except OSError as e:
+                raise RuntimeError("Fsync'ing directory %r failed: %s" %
+                                   (path, e)) from e
 
     @classmethod
     def _makedirs_synced(cls, filesystem_path):