Merge tag 'drm-fixes-2024-06-22' of https://gitlab.freedesktop.org/drm/kernel
[linux-block.git] / fs / overlayfs / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config OVERLAY_FS
3         tristate "Overlay filesystem support"
4         select FS_STACK
5         select EXPORTFS
6         help
7           An overlay filesystem combines two filesystems - an 'upper' filesystem
8           and a 'lower' filesystem.  When a name exists in both filesystems, the
9           object in the 'upper' filesystem is visible while the object in the
10           'lower' filesystem is either hidden or, in the case of directories,
11           merged with the 'upper' object.
12
13           For more information see Documentation/filesystems/overlayfs.rst
14
15 config OVERLAY_FS_REDIRECT_DIR
16         bool "Overlayfs: turn on redirect directory feature by default"
17         depends on OVERLAY_FS
18         help
19           If this config option is enabled then overlay filesystems will use
20           redirects when renaming directories by default.  In this case it is
21           still possible to turn off redirects globally with the
22           "redirect_dir=off" module option or on a filesystem instance basis
23           with the "redirect_dir=off" mount option.
24
25           Note, that redirects are not backward compatible.  That is, mounting
26           an overlay which has redirects on a kernel that doesn't support this
27           feature will have unexpected results.
28
29           If unsure, say N.
30
31 config OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW
32         bool "Overlayfs: follow redirects even if redirects are turned off"
33         default y
34         depends on OVERLAY_FS
35         help
36           Disable this to get a possibly more secure configuration, but that
37           might not be backward compatible with previous kernels.
38
39           If backward compatibility is not an issue, then it is safe and
40           recommended to say N here.
41
42           For more information, see Documentation/filesystems/overlayfs.rst
43
44           If unsure, say Y.
45
46 config OVERLAY_FS_INDEX
47         bool "Overlayfs: turn on inodes index feature by default"
48         depends on OVERLAY_FS
49         help
50           If this config option is enabled then overlay filesystems will use
51           the index directory to map lower inodes to upper inodes by default.
52           In this case it is still possible to turn off index globally with the
53           "index=off" module option or on a filesystem instance basis with the
54           "index=off" mount option.
55
56           The inodes index feature prevents breaking of lower hardlinks on copy
57           up.
58
59           Note, that the inodes index feature is not backward compatible.
60           That is, mounting an overlay which has an inodes index on a kernel
61           that doesn't support this feature will have unexpected results.
62
63           If unsure, say N.
64
65 config OVERLAY_FS_NFS_EXPORT
66         bool "Overlayfs: turn on NFS export feature by default"
67         depends on OVERLAY_FS
68         depends on OVERLAY_FS_INDEX
69         depends on !OVERLAY_FS_METACOPY
70         help
71           If this config option is enabled then overlay filesystems will use
72           the index directory to decode overlay NFS file handles by default.
73           In this case, it is still possible to turn off NFS export support
74           globally with the "nfs_export=off" module option or on a filesystem
75           instance basis with the "nfs_export=off" mount option.
76
77           The NFS export feature creates an index on copy up of every file and
78           directory.  This full index is used to detect overlay filesystems
79           inconsistencies on lookup, like redirect from multiple upper dirs to
80           the same lower dir.  The full index may incur some overhead on mount
81           time, especially when verifying that directory file handles are not
82           stale.
83
84           Note, that the NFS export feature is not backward compatible.
85           That is, mounting an overlay which has a full index on a kernel
86           that doesn't support this feature will have unexpected results.
87
88           Most users should say N here and enable this feature on a case-by-
89           case basis with the "nfs_export=on" mount option.
90
91           Say N unless you fully understand the consequences.
92
93 config OVERLAY_FS_XINO_AUTO
94         bool "Overlayfs: auto enable inode number mapping"
95         default n
96         depends on OVERLAY_FS
97         depends on 64BIT
98         help
99           If this config option is enabled then overlay filesystems will use
100           unused high bits in underlying filesystem inode numbers to map all
101           inodes to a unified address space.  The mapped 64bit inode numbers
102           might not be compatible with applications that expect 32bit inodes.
103
104           If compatibility with applications that expect 32bit inodes is not an
105           issue, then it is safe and recommended to say Y here.
106
107           For more information, see Documentation/filesystems/overlayfs.rst
108
109           If unsure, say N.
110
111 config OVERLAY_FS_METACOPY
112         bool "Overlayfs: turn on metadata only copy up feature by default"
113         depends on OVERLAY_FS
114         select OVERLAY_FS_REDIRECT_DIR
115         help
116           If this config option is enabled then overlay filesystems will
117           copy up only metadata where appropriate and data copy up will
118           happen when a file is opened for WRITE operation. It is still
119           possible to turn off this feature globally with the "metacopy=off"
120           module option or on a filesystem instance basis with the
121           "metacopy=off" mount option.
122
123           Note, that this feature is not backward compatible.  That is,
124           mounting an overlay which has metacopy only inodes on a kernel
125           that doesn't support this feature will have unexpected results.
126
127           If unsure, say N.
128
129 config OVERLAY_FS_DEBUG
130         bool "Overlayfs: turn on extra debugging checks"
131         default n
132         depends on OVERLAY_FS
133         help
134           Say Y here to enable extra debugging checks in overlayfs.
135
136           If unsure, say N.