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