overlayroot: warnings in the kernel log

Adam Vodopjan adam.vodopjan at gmail.com
Wed Dec 6 19:49:00 UTC 2023


Speaking about ubuntu 22.04 with the hwe kernel and "overlayroot" package installed.

Say I've got such fstab:

    /dev/sda3 / ext4 errors=remount-ro 0 1
    /dev/sdb1 /nas xfs defaults 0 2

When booting I append "overlayroot=tmpfs" to the kernel cmdline in grub. It gives me such overlay
mounts:

    overlayroot / overlay rw,relatime,lowerdir=/media/root-ro,upperdir=/media/root-rw/overlay,workdir=/media/root-rw/overlay-workdir/_,nouserxattr 0 0
    /media/root-ro/nas /nas overlay rw,relatime,lowerdir=/media/root-ro/nas,upperdir=/media/root-rw/overlay/nas,workdir=/media/root-rw/overlay-workdir/nas,nouserxattr 0 0

With that I get a warning in the kernel log:

    kernel: overlayfs: upperdir is in-use as upperdir/workdir of another mount, accessing files
    from both mounts will result in undefined behavior.

The warning is caused by the fact the second overlay's upperdir (/media/root-rw/overlay/nas) is a
subdir of the first overlay's upperdir /media/root-rw/overlay).

Interestingly, there is no such thing for workdir: /media/root-rw/overlay-workdir/nas vs
/media/root-rw/overlay-workdir/_ [1]

Overall it likely works, but I wonder: why overlayroot uses a dedicated subdir ("_") of
/media/root-rw/overlay-workdir for root's workdir, but is fuses things together for upperdirs? If
only the root's upperdir was /media/root-rw/overlay/_, it would be much cleaner and without
warnings.


[1] Introduced under title "get workdir set right" in
https://git.launchpad.net/cloud-initramfs-tools/commit/?id=def357d70848ca10b51a6ce795e6e94c3e13c9d5




More information about the Ubuntu-devel-discuss mailing list