From: Blair Bonnett Date: Tue, 29 Aug 2023 12:43:52 +0000 (+0200) Subject: Disable index and metacopy options of overlayfs. X-Git-Tag: v16~31^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=219d81edbb4f0939b675bd1671d1291b25c3ff74;p=thirdparty%2Fmkosi.git Disable index and metacopy options of overlayfs. If these are enabled (e.g., if the kernel enables them by default), the mount will fail if the upper directory has been earlier used with a different lower directory, such as with a build overlay that was generated on top of a different temporary root. Closes #1841. --- diff --git a/mkosi/mounts.py b/mkosi/mounts.py index 7645eea28..a026a41da 100644 --- a/mkosi/mounts.py +++ b/mkosi/mounts.py @@ -83,6 +83,15 @@ def mount_overlay( with tempfile.TemporaryDirectory(dir=upperdir.parent, prefix=f"{upperdir.name}-workdir") as workdir: options = [f"lowerdir={lower}" for lower in lowerdirs] + [f"upperdir={upperdir}", f"workdir={workdir}"] + # Disable the inodes index and metacopy (only copy metadata upwards if possible) + # options. If these are enabled (e.g., if the kernel enables them by default), + # the mount will fail if the upper directory has been earlier used with a different + # lower directory, such as with a build overlay that was generated on top of a + # different temporary root. + # See https://www.kernel.org/doc/html/latest/filesystems/overlayfs.html#sharing-and-copying-layers + # and https://github.com/systemd/mkosi/issues/1841. + options.extend(["index=off", "metacopy=off"]) + # userxattr is only supported on overlayfs since kernel 5.11 if GenericVersion(platform.release()) >= GenericVersion("5.11"): options.append("userxattr")