Переглянути джерело

storage/reflink: use context managers in is_supported()

Don't rely on garbage collection to close and remove the tempfiles.
Rusty Bird 5 роки тому
батько
коміт
5756e870bd
1 змінених файлів з 4 додано та 4 видалено
  1. 4 4
      qubes/storage/reflink.py

+ 4 - 4
qubes/storage/reflink.py

@@ -456,7 +456,7 @@ def is_supported(dst_dir, src_dir=None):
     '''
     if src_dir is None:
         src_dir = dst_dir
-    dst = tempfile.TemporaryFile(dir=dst_dir)
-    src = tempfile.TemporaryFile(dir=src_dir)
-    src.write(b'foo')  # don't let any filesystem get clever with empty files
-    return _attempt_ficlone(src, dst)
+    with tempfile.TemporaryFile(dir=src_dir) as src, \
+         tempfile.TemporaryFile(dir=dst_dir) as dst:
+        src.write(b'foo')  # don't let any fs get clever with empty files
+        return _attempt_ficlone(src, dst)