Up to and including kernel 6.4.15, it was possible to have commas in
the lowerdir/upperdir/workdir paths used by overlayfs, provided they were
escaped with backslashes:
mkdir /tmp/test-lower, /tmp/test-upper /tmp/test-work /tmp/test
mount -t overlay overlay -o 'lowerdir=/tmp/test-lower\,,upperdir=/tmp/test-upper,workdir=/tmp/test-work' /tmp/test
In 6.5.2 and 6.5.5, this no longer works; dmesg reports that overlayfs
can't resolve '/tmp/test-lower' (without the comma).
I see that there is a commit between the 6.4 and 6.5 lines titled [ovl:
port to new mount api][1]. I haven't compiled a kernel before and after
this commit to verify, but based on the code it deletes I strongly suspect
that it, or if not then one of the ovl commits committed on the same day,
is responsible for this change.
[1]: https://github.com/torvalds/linux/commit/1784fbc2ed9c888ea4e895f30a53207ed7ee8208
Does this count as a regression? I can't find documentation for this
escaping feature anywhere, even as it pertains to the non-comma characters
'\\' and ':' (which, I've tested, can still be escaped as expected), so
perhaps it was never properly supported? But a search for escaping commas
in overlayfs turns up resources like [this post][2], suggesting that there
are others who figured this out and expect it to work.
[2]: https://unix.stackexchange.com/a/552640
Is there a new way to escape commas for overlayfs options?
Thanks,
Ryan