]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Fall back to regular copying if doing a btrfs snapshot fails
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 7 May 2023 13:02:35 +0000 (15:02 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 8 May 2023 12:55:41 +0000 (14:55 +0200)
mkosi/btrfs.py

index b34b44752524588ef3cb9c6ba70e539f21cfd64f..5a87c9a9b5cd046b62e24ad270c00903eaa03ea9 100644 (file)
@@ -12,7 +12,8 @@ def btrfs_maybe_make_subvolume(config: MkosiConfig, path: Path, mode: int) -> No
         die("Subvolumes requested but the btrfs command was not found")
 
     if config.use_subvolumes != ConfigFeature.disabled:
-        result = run(["btrfs", "subvolume", "create", path], check=config.use_subvolumes == ConfigFeature.enabled).returncode
+        result = run(["btrfs", "subvolume", "create", path],
+                     check=config.use_subvolumes == ConfigFeature.enabled).returncode
     else:
         result = 1
 
@@ -37,5 +38,8 @@ def btrfs_maybe_snapshot_subvolume(config: MkosiConfig, src: Path, dst: Path) ->
     if dst.exists():
         dst.rmdir()
 
-    run(["btrfs", "subvolume", "snapshot", src, dst],
-        check=config.use_subvolumes == ConfigFeature.enabled)
+    result = run(["btrfs", "subvolume", "snapshot", src, dst],
+                 check=config.use_subvolumes == ConfigFeature.enabled).returncode
+
+    if result != 0:
+        copy_path(src, dst)