Hello list,Klaus, I have run into similar problems...
I have just found out about this mailing list which obviously also takes care of overlayfs.
I have been a happy user of overlayfs for quiet some time using it to propagate a shared r/o LVM ext4 lowerdir rootfs with a small r/w ext4 upperdir for a number of XEN domU guests. I started with overlayfs on kernel version 3.11.7 (all on gentoo-hardened). Recently I have switched from 3.13.10 (using overlayfs.v21) to 3.15.5 with overlayfs.v22.
overlayfs.v22 seems to have changed insofar as there's a new parameter workdir=/dir with dir required to be an empty directory on the same filesystem as upperdir. So I have changed my initramfs to include that parameter and have also created my /dir directory (named /.work, owned by root:root and 0755 mode) on all my individual upperdir filesystems for all of my XEN domUs.
Now when I start the new kernel 3.15.5 with the modified init script from the newly created initramfs, I am ending up in a rescue shell. Both the upper and lower filesystem are (as expected) mounted appropriately to /mnt/root_ro and /mnt/root_rw amd /mnt/root exists. Howeverm, trying to combine those two filesystems on /mnt/root (as before and regardless of whether used with or without the workdir= parameter) fails with an error message as follows:
# mount -t overlayfs overlayfs -o lowerdir=/mnt/root_ro,upperdir=/mnt/root_rw,workdir=/.work /mnt/root
mount: mounting overlayfs on /mnt/root failed: Invalid argument
The error message stays the same regardless of where on the command line the overlayfs "device" parameter appears. I can't see what's wrong with the command line given that - with the exception of the workdir=/.work part - the command has not changed from 3.13.10 (overlayfs.v21), therefore currently leaving me at loss.
I would very much appreciate any help and support in tracking down this unexpected issue.
Regards Atom2