Explorar o código

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

Unrud %!s(int64=8) %!d(string=hai) anos
pai
achega
d3a90d16c3
Modificáronse 1 ficheiros con 8 adicións e 4 borrados
  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):