unable to mount using overlayfs.v22 on kernel 3.15.5

Klaus A. Kreil
2014-07-22T21:49:26Z

Hello list,
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