0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config OVERLAY_FS
0003 tristate "Overlay filesystem support"
0004 select EXPORTFS
0005 help
0006 An overlay filesystem combines two filesystems - an 'upper' filesystem
0007 and a 'lower' filesystem. When a name exists in both filesystems, the
0008 object in the 'upper' filesystem is visible while the object in the
0009 'lower' filesystem is either hidden or, in the case of directories,
0010 merged with the 'upper' object.
0011
0012 For more information see Documentation/filesystems/overlayfs.rst
0013
0014 config OVERLAY_FS_REDIRECT_DIR
0015 bool "Overlayfs: turn on redirect directory feature by default"
0016 depends on OVERLAY_FS
0017 help
0018 If this config option is enabled then overlay filesystems will use
0019 redirects when renaming directories by default. In this case it is
0020 still possible to turn off redirects globally with the
0021 "redirect_dir=off" module option or on a filesystem instance basis
0022 with the "redirect_dir=off" mount option.
0023
0024 Note, that redirects are not backward compatible. That is, mounting
0025 an overlay which has redirects on a kernel that doesn't support this
0026 feature will have unexpected results.
0027
0028 If unsure, say N.
0029
0030 config OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW
0031 bool "Overlayfs: follow redirects even if redirects are turned off"
0032 default y
0033 depends on OVERLAY_FS
0034 help
0035 Disable this to get a possibly more secure configuration, but that
0036 might not be backward compatible with previous kernels.
0037
0038 If backward compatibility is not an issue, then it is safe and
0039 recommended to say N here.
0040
0041 For more information, see Documentation/filesystems/overlayfs.rst
0042
0043 If unsure, say Y.
0044
0045 config OVERLAY_FS_INDEX
0046 bool "Overlayfs: turn on inodes index feature by default"
0047 depends on OVERLAY_FS
0048 help
0049 If this config option is enabled then overlay filesystems will use
0050 the index directory to map lower inodes to upper inodes by default.
0051 In this case it is still possible to turn off index globally with the
0052 "index=off" module option or on a filesystem instance basis with the
0053 "index=off" mount option.
0054
0055 The inodes index feature prevents breaking of lower hardlinks on copy
0056 up.
0057
0058 Note, that the inodes index feature is not backward compatible.
0059 That is, mounting an overlay which has an inodes index on a kernel
0060 that doesn't support this feature will have unexpected results.
0061
0062 If unsure, say N.
0063
0064 config OVERLAY_FS_NFS_EXPORT
0065 bool "Overlayfs: turn on NFS export feature by default"
0066 depends on OVERLAY_FS
0067 depends on OVERLAY_FS_INDEX
0068 depends on !OVERLAY_FS_METACOPY
0069 help
0070 If this config option is enabled then overlay filesystems will use
0071 the index directory to decode overlay NFS file handles by default.
0072 In this case, it is still possible to turn off NFS export support
0073 globally with the "nfs_export=off" module option or on a filesystem
0074 instance basis with the "nfs_export=off" mount option.
0075
0076 The NFS export feature creates an index on copy up of every file and
0077 directory. This full index is used to detect overlay filesystems
0078 inconsistencies on lookup, like redirect from multiple upper dirs to
0079 the same lower dir. The full index may incur some overhead on mount
0080 time, especially when verifying that directory file handles are not
0081 stale.
0082
0083 Note, that the NFS export feature is not backward compatible.
0084 That is, mounting an overlay which has a full index on a kernel
0085 that doesn't support this feature will have unexpected results.
0086
0087 Most users should say N here and enable this feature on a case-by-
0088 case basis with the "nfs_export=on" mount option.
0089
0090 Say N unless you fully understand the consequences.
0091
0092 config OVERLAY_FS_XINO_AUTO
0093 bool "Overlayfs: auto enable inode number mapping"
0094 default n
0095 depends on OVERLAY_FS
0096 depends on 64BIT
0097 help
0098 If this config option is enabled then overlay filesystems will use
0099 unused high bits in undelying filesystem inode numbers to map all
0100 inodes to a unified address space. The mapped 64bit inode numbers
0101 might not be compatible with applications that expect 32bit inodes.
0102
0103 If compatibility with applications that expect 32bit inodes is not an
0104 issue, then it is safe and recommended to say Y here.
0105
0106 For more information, see Documentation/filesystems/overlayfs.rst
0107
0108 If unsure, say N.
0109
0110 config OVERLAY_FS_METACOPY
0111 bool "Overlayfs: turn on metadata only copy up feature by default"
0112 depends on OVERLAY_FS
0113 select OVERLAY_FS_REDIRECT_DIR
0114 help
0115 If this config option is enabled then overlay filesystems will
0116 copy up only metadata where appropriate and data copy up will
0117 happen when a file is opened for WRITE operation. It is still
0118 possible to turn off this feature globally with the "metacopy=off"
0119 module option or on a filesystem instance basis with the
0120 "metacopy=off" mount option.
0121
0122 Note, that this feature is not backward compatible. That is,
0123 mounting an overlay which has metacopy only inodes on a kernel
0124 that doesn't support this feature will have unexpected results.
0125
0126 If unsure, say N.