]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Make sure the root directory is a regular directory if Overlay= is enabled
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 18 Sep 2023 12:08:07 +0000 (14:08 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 18 Sep 2023 13:56:43 +0000 (15:56 +0200)
overlayfs combined with a btrfs subvolume as the upperdir results in
EXDEV when trying to access files from a lowerdir, so let's make sure
we use a regular directory when Overlay= is enabled.

Fixes #1904

mkosi/state.py

index 19b4896327704f6aa4bb2852e7365089e6d66dc3..3b3b6d200522e7f15f6631aeba5e3eb2f794d5cc 100644 (file)
@@ -16,7 +16,13 @@ class MkosiState:
         self.workspace = workspace
 
         with umask(~0o755):
-            make_tree(self.config, self.root)
+            # Using a btrfs subvolume as the upperdir in an overlayfs results in EXDEV so make sure we create
+            # the root directory as a regular directory if the Overlay= option is enabled.
+            if config.overlay:
+                self.root.mkdir()
+            else:
+                make_tree(self.config, self.root)
+
         self.staging.mkdir()
         self.pkgmngr.mkdir()
         self.install_dir.mkdir(exist_ok=True)