| # SPDX-License-Identifier: GPL-2.0-only |
| config OVERLAY_FS |
| tristate "Overlay filesystem support" |
| select EXPORTFS |
| help |
| An overlay filesystem combines two filesystems - an 'upper' filesystem |
| and a 'lower' filesystem. When a name exists in both filesystems, the |
| object in the 'upper' filesystem is visible while the object in the |
| 'lower' filesystem is either hidden or, in the case of directories, |
| merged with the 'upper' object. |
| |
| For more information see Documentation/filesystems/overlayfs.rst |
| |
| config OVERLAY_FS_REDIRECT_DIR |
| bool "Overlayfs: turn on redirect directory feature by default" |
| depends on OVERLAY_FS |
| help |
| If this config option is enabled then overlay filesystems will use |
| redirects when renaming directories by default. In this case it is |
| still possible to turn off redirects globally with the |
| "redirect_dir=off" module option or on a filesystem instance basis |
| with the "redirect_dir=off" mount option. |
| |
| Note, that redirects are not backward compatible. That is, mounting |
| an overlay which has redirects on a kernel that doesn't support this |
| feature will have unexpected results. |
| |
| If unsure, say N. |
| |
| config OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW |
| bool "Overlayfs: follow redirects even if redirects are turned off" |
| default y |
| depends on OVERLAY_FS |
| help |
| Disable this to get a possibly more secure configuration, but that |
| might not be backward compatible with previous kernels. |
| |
| If backward compatibility is not an issue, then it is safe and |
| recommended to say N here. |
| |
| For more information, see Documentation/filesystems/overlayfs.rst |
| |
| If unsure, say Y. |
| |
| config OVERLAY_FS_INDEX |
| bool "Overlayfs: turn on inodes index feature by default" |
| depends on OVERLAY_FS |
| help |
| If this config option is enabled then overlay filesystems will use |
| the index directory to map lower inodes to upper inodes by default. |
| In this case it is still possible to turn off index globally with the |
| "index=off" module option or on a filesystem instance basis with the |
| "index=off" mount option. |
| |
| The inodes index feature prevents breaking of lower hardlinks on copy |
| up. |
| |
| Note, that the inodes index feature is not backward compatible. |
| That is, mounting an overlay which has an inodes index on a kernel |
| that doesn't support this feature will have unexpected results. |
| |
| If unsure, say N. |
| |
| config OVERLAY_FS_NFS_EXPORT |
| bool "Overlayfs: turn on NFS export feature by default" |
| depends on OVERLAY_FS |
| depends on OVERLAY_FS_INDEX |
| depends on !OVERLAY_FS_METACOPY |
| help |
| If this config option is enabled then overlay filesystems will use |
| the index directory to decode overlay NFS file handles by default. |
| In this case, it is still possible to turn off NFS export support |
| globally with the "nfs_export=off" module option or on a filesystem |
| instance basis with the "nfs_export=off" mount option. |
| |
| The NFS export feature creates an index on copy up of every file and |
| directory. This full index is used to detect overlay filesystems |
| inconsistencies on lookup, like redirect from multiple upper dirs to |
| the same lower dir. The full index may incur some overhead on mount |
| time, especially when verifying that directory file handles are not |
| stale. |
| |
| Note, that the NFS export feature is not backward compatible. |
| That is, mounting an overlay which has a full index on a kernel |
| that doesn't support this feature will have unexpected results. |
| |
| Most users should say N here and enable this feature on a case-by- |
| case basis with the "nfs_export=on" mount option. |
| |
| Say N unless you fully understand the consequences. |
| |
| config OVERLAY_FS_XINO_AUTO |
| bool "Overlayfs: auto enable inode number mapping" |
| default n |
| depends on OVERLAY_FS |
| depends on 64BIT |
| help |
| If this config option is enabled then overlay filesystems will use |
| unused high bits in underlying filesystem inode numbers to map all |
| inodes to a unified address space. The mapped 64bit inode numbers |
| might not be compatible with applications that expect 32bit inodes. |
| |
| If compatibility with applications that expect 32bit inodes is not an |
| issue, then it is safe and recommended to say Y here. |
| |
| For more information, see Documentation/filesystems/overlayfs.rst |
| |
| If unsure, say N. |
| |
| config OVERLAY_FS_METACOPY |
| bool "Overlayfs: turn on metadata only copy up feature by default" |
| depends on OVERLAY_FS |
| select OVERLAY_FS_REDIRECT_DIR |
| help |
| If this config option is enabled then overlay filesystems will |
| copy up only metadata where appropriate and data copy up will |
| happen when a file is opened for WRITE operation. It is still |
| possible to turn off this feature globally with the "metacopy=off" |
| module option or on a filesystem instance basis with the |
| "metacopy=off" mount option. |
| |
| Note, that this feature is not backward compatible. That is, |
| mounting an overlay which has metacopy only inodes on a kernel |
| that doesn't support this feature will have unexpected results. |
| |
| If unsure, say N. |
| |
| config OVERLAY_FS_DEBUG |
| bool "Overlayfs: turn on extra debugging checks" |
| default n |
| depends on OVERLAY_FS |
| help |
| Say Y here to enable extra debugging checks in overlayfs. |
| |
| If unsure, say N. |