]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ovl: add support for appending lowerdirs one by one
authorAmir Goldstein <amir73il@gmail.com>
Mon, 30 Oct 2023 18:34:42 +0000 (20:34 +0200)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:19:18 +0000 (18:19 -0400)
commitcc0918b3582c98f12cfb30bf7496496d14bff3e9
tree459f85dafe473b23a7eaf53c0ecab4f93ba7a447
parent0d8097526ba8f13a177ff77b365faae05d214588
ovl: add support for appending lowerdirs one by one

[ Upstream commit 24e16e385f2272b1a9df51337a5c32d28a29c7ad ]

Add new mount options lowerdir+ and datadir+ that can be used to add
layers to lower layers stack one by one.

Unlike the legacy lowerdir mount option, special characters (i.e. colons
and cammas) are not unescaped with these new mount options.

The new mount options can be repeated to compose a large stack of lower
layers, but they may not be mixed with the lagacy lowerdir mount option,
because for displaying lower layers in mountinfo, we do not want to mix
escaped with unescaped lower layers path syntax.

Similar to data-only layer rules with the lowerdir mount option, the
datadir+ option must follow at least one lowerdir+ option and the
lowerdir+ option must not follow the datadir+ option.

If the legacy lowerdir mount option follows lowerdir+ and datadir+
mount options, it overrides them.  Sepcifically, calling:

  fsconfig(FSCONFIG_SET_STRING, "lowerdir", "", 0);

can be used to reset previously setup lower layers.

Suggested-by: Miklos Szeredi <miklos@szeredi.hu>
Link: https://lore.kernel.org/r/CAJfpegt7VC94KkRtb1dfHG8+4OzwPBLYqhtc8=QFUxpFJE+=RQ@mail.gmail.com/
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Stable-dep-of: 2824083db76c ("ovl: Always reject mounting over case-insensitive directories")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Documentation/filesystems/overlayfs.rst
fs/overlayfs/params.c