]>
Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | config XFS_FS |
3 | tristate "XFS filesystem support" | |
9361401e | 4 | depends on BLOCK |
d296d30a | 5 | select EXPORTFS |
bc02e869 | 6 | select LIBCRC32C |
68a9f5e7 | 7 | select FS_IOMAP |
1da177e4 LT |
8 | help |
9 | XFS is a high performance journaling filesystem which originated | |
10 | on the SGI IRIX platform. It is completely multi-threaded, can | |
11 | support large files and large filesystems, extended attributes, | |
12 | variable block sizes, is extent based, and makes extensive use of | |
13 | Btrees (directories, extents, free space) to aid both performance | |
14 | and scalability. | |
15 | ||
16 | Refer to the documentation at <http://oss.sgi.com/projects/xfs/> | |
17 | for complete details. This implementation is on-disk compatible | |
18 | with the IRIX version of XFS. | |
19 | ||
20 | To compile this file system support as a module, choose M here: the | |
21 | module will be called xfs. Be aware, however, that if the file | |
22 | system of your root partition is compiled as a module, you'll need | |
23 | to use an initial ramdisk (initrd) to boot. | |
24 | ||
b96cb835 DW |
25 | config XFS_SUPPORT_V4 |
26 | bool "Support deprecated V4 (crc=0) format" | |
89464554 | 27 | depends on XFS_FS |
b96cb835 DW |
28 | default y |
29 | help | |
30 | The V4 filesystem format lacks certain features that are supported | |
31 | by the V5 format, such as metadata checksumming, strengthened | |
32 | metadata verification, and the ability to store timestamps past the | |
33 | year 2038. Because of this, the V4 format is deprecated. All users | |
34 | should upgrade by backing up their files, reformatting, and restoring | |
35 | from the backup. | |
36 | ||
37 | Administrators and users can detect a V4 filesystem by running | |
38 | xfs_info against a filesystem mountpoint and checking for a string | |
39 | beginning with "crc=". If the string "crc=0" is found, the | |
40 | filesystem is a V4 filesystem. If no such string is found, please | |
41 | upgrade xfsprogs to the latest version and try again. | |
42 | ||
43 | This option will become default N in September 2025. Support for the | |
44 | V4 format will be removed entirely in September 2030. Distributors | |
45 | can say N here to withdraw support earlier. | |
46 | ||
47 | To continue supporting the old V4 format (crc=0), say Y. | |
48 | To close off an attack surface, say N. | |
49 | ||
7ba83850 DW |
50 | config XFS_SUPPORT_ASCII_CI |
51 | bool "Support deprecated case-insensitive ascii (ascii-ci=1) format" | |
52 | depends on XFS_FS | |
53 | default y | |
54 | help | |
55 | The ASCII case insensitivity filesystem feature only works correctly | |
56 | on systems that have been coerced into using ISO 8859-1, and it does | |
57 | not work on extended attributes. The kernel has no visibility into | |
58 | the locale settings in userspace, so it corrupts UTF-8 names. | |
59 | Enabling this feature makes XFS vulnerable to mixed case sensitivity | |
60 | attacks. Because of this, the feature is deprecated. All users | |
61 | should upgrade by backing up their files, reformatting, and restoring | |
62 | from the backup. | |
63 | ||
64 | Administrators and users can detect such a filesystem by running | |
65 | xfs_info against a filesystem mountpoint and checking for a string | |
66 | beginning with "ascii-ci=". If the string "ascii-ci=1" is found, the | |
67 | filesystem is a case-insensitive filesystem. If no such string is | |
68 | found, please upgrade xfsprogs to the latest version and try again. | |
69 | ||
70 | This option will become default N in September 2025. Support for the | |
71 | feature will be removed entirely in September 2030. Distributors | |
72 | can say N here to withdraw support earlier. | |
73 | ||
74 | To continue supporting case-insensitivity (ascii-ci=1), say Y. | |
75 | To close off an attack surface, say N. | |
76 | ||
1da177e4 | 77 | config XFS_QUOTA |
538524ae | 78 | bool "XFS Quota support" |
1da177e4 | 79 | depends on XFS_FS |
80f44b15 | 80 | select QUOTACTL |
1da177e4 LT |
81 | help |
82 | If you say Y here, you will be able to set limits for disk usage on | |
83 | a per user and/or a per group basis under XFS. XFS considers quota | |
84 | information as filesystem metadata and uses journaling to provide a | |
85 | higher level guarantee of consistency. The on-disk data format for | |
86 | quota is also compatible with the IRIX version of XFS, allowing a | |
87 | filesystem to be migrated between Linux and IRIX without any need | |
88 | for conversion. | |
89 | ||
90 | If unsure, say N. More comprehensive documentation can be found in | |
91 | README.quota in the xfsprogs package. XFS quota can be used either | |
92 | with or without the generic quota support enabled (CONFIG_QUOTA) - | |
93 | they are completely independent subsystems. | |
94 | ||
1da177e4 | 95 | config XFS_POSIX_ACL |
20ba0287 | 96 | bool "XFS POSIX ACL support" |
1da177e4 | 97 | depends on XFS_FS |
ef14f0c1 | 98 | select FS_POSIX_ACL |
1da177e4 LT |
99 | help |
100 | POSIX Access Control Lists (ACLs) support permissions for users and | |
101 | groups beyond the owner/group/world scheme. | |
102 | ||
1da177e4 LT |
103 | If you don't know what Access Control Lists are, say N. |
104 | ||
20ba0287 | 105 | config XFS_RT |
d7ede1aa NS |
106 | bool "XFS Realtime subvolume support" |
107 | depends on XFS_FS | |
20ba0287 NS |
108 | help |
109 | If you say Y here you will be able to mount and use XFS filesystems | |
d7ede1aa NS |
110 | which contain a realtime subvolume. The realtime subvolume is a |
111 | separate area of disk space where only file data is stored. It was | |
112 | originally designed to provide deterministic data rates suitable | |
113 | for media streaming applications, but is also useful as a generic | |
114 | mechanism for ensuring data and metadata/log I/Os are completely | |
115 | separated. Regular file I/Os are isolated to a separate device | |
116 | from all other requests, and this can be done quite transparently | |
117 | to applications via the inherit-realtime directory inode flag. | |
20ba0287 | 118 | |
d7ede1aa | 119 | See the xfs man page in section 5 for additional information. |
20ba0287 NS |
120 | |
121 | If unsure, say N. | |
7788fae6 | 122 | |
d5c88131 DW |
123 | config XFS_DRAIN_INTENTS |
124 | bool | |
466c525d | 125 | select JUMP_LABEL if HAVE_ARCH_JUMP_LABEL |
d5c88131 | 126 | |
4e98cc90 DW |
127 | config XFS_LIVE_HOOKS |
128 | bool | |
129 | select JUMP_LABEL if HAVE_ARCH_JUMP_LABEL | |
130 | ||
5076a604 DW |
131 | config XFS_MEMORY_BUFS |
132 | bool | |
133 | ||
a095686a DW |
134 | config XFS_BTREE_IN_MEM |
135 | bool | |
136 | ||
36fd6e86 DW |
137 | config XFS_ONLINE_SCRUB |
138 | bool "XFS online metadata check support" | |
139 | default n | |
140 | depends on XFS_FS | |
3934e8eb | 141 | depends on TMPFS && SHMEM |
4e98cc90 | 142 | select XFS_LIVE_HOOKS |
d5c88131 | 143 | select XFS_DRAIN_INTENTS |
5076a604 | 144 | select XFS_MEMORY_BUFS |
36fd6e86 DW |
145 | help |
146 | If you say Y here you will be able to check metadata on a | |
147 | mounted XFS filesystem. This feature is intended to reduce | |
148 | filesystem downtime by supplementing xfs_repair. The key | |
149 | advantage here is to look for problems proactively so that | |
150 | they can be dealt with in a controlled manner. | |
151 | ||
152 | This feature is considered EXPERIMENTAL. Use with caution! | |
153 | ||
154 | See the xfs_scrub man page in section 8 for additional information. | |
155 | ||
156 | If unsure, say N. | |
157 | ||
d7a74cad DW |
158 | config XFS_ONLINE_SCRUB_STATS |
159 | bool "XFS online metadata check usage data collection" | |
160 | default y | |
161 | depends on XFS_ONLINE_SCRUB | |
a2e4388a | 162 | select DEBUG_FS |
d7a74cad DW |
163 | help |
164 | If you say Y here, the kernel will gather usage data about | |
165 | the online metadata check subsystem. This includes the number | |
166 | of invocations, the outcomes, and the results of repairs, if any. | |
167 | This may slow down scrub slightly due to the use of high precision | |
168 | timers and the need to merge per-invocation information into the | |
169 | filesystem counters. | |
170 | ||
171 | Usage data are collected in /sys/kernel/debug/xfs/scrub. | |
172 | ||
173 | If unsure, say N. | |
174 | ||
84d42ea6 DW |
175 | config XFS_ONLINE_REPAIR |
176 | bool "XFS online metadata repair support" | |
177 | default n | |
178 | depends on XFS_FS && XFS_ONLINE_SCRUB | |
a095686a | 179 | select XFS_BTREE_IN_MEM |
84d42ea6 DW |
180 | help |
181 | If you say Y here you will be able to repair metadata on a | |
182 | mounted XFS filesystem. This feature is intended to reduce | |
183 | filesystem downtime by fixing minor problems before they cause the | |
184 | filesystem to go down. However, it requires that the filesystem be | |
185 | formatted with secondary metadata, such as reverse mappings and inode | |
186 | parent pointers. | |
187 | ||
188 | This feature is considered EXPERIMENTAL. Use with caution! | |
189 | ||
190 | See the xfs_scrub man page in section 8 for additional information. | |
191 | ||
192 | If unsure, say N. | |
193 | ||
742ae1e3 DC |
194 | config XFS_WARN |
195 | bool "XFS Verbose Warnings" | |
196 | depends on XFS_FS && !XFS_DEBUG | |
197 | help | |
198 | Say Y here to get an XFS build with many additional warnings. | |
199 | It converts ASSERT checks to WARN, so will log any out-of-bounds | |
200 | conditions that occur that would otherwise be missed. It is much | |
201 | lighter weight than XFS_DEBUG and does not modify algorithms and will | |
202 | not cause the kernel to panic on non-fatal errors. | |
203 | ||
204 | However, similar to XFS_DEBUG, it is only advisable to use this if you | |
205 | are debugging a particular problem. | |
206 | ||
7788fae6 | 207 | config XFS_DEBUG |
d9777b8d KC |
208 | bool "XFS Debugging support" |
209 | depends on XFS_FS | |
7788fae6 CH |
210 | help |
211 | Say Y here to get an XFS build with many debugging features, | |
212 | including ASSERT checks, function wrappers around macros, | |
213 | and extra sanity-checking functions in various code paths. | |
214 | ||
215 | Note that the resulting code will be HUGE and SLOW, and probably | |
216 | not useful unless you are debugging a particular problem. | |
217 | ||
218 | Say N unless you are an XFS developer, or you play one on TV. | |
1040960e | 219 | |
150bb10a DW |
220 | config XFS_DEBUG_EXPENSIVE |
221 | bool "XFS expensive debugging checks" | |
222 | depends on XFS_FS && XFS_DEBUG | |
223 | help | |
224 | Say Y here to get an XFS build with expensive debugging checks | |
225 | enabled. These checks may affect performance significantly. | |
226 | ||
227 | Note that the resulting code will be HUGER and SLOWER, and probably | |
228 | not useful unless you are debugging a particular problem. | |
229 | ||
230 | Say N unless you are an XFS developer, or you play one on TV. | |
231 | ||
1040960e BF |
232 | config XFS_ASSERT_FATAL |
233 | bool "XFS fatal asserts" | |
234 | default y | |
235 | depends on XFS_FS && XFS_DEBUG | |
236 | help | |
237 | Set the default DEBUG mode ASSERT failure behavior. | |
238 | ||
239 | Say Y here to cause DEBUG mode ASSERT failures to result in fatal | |
240 | errors that BUG() the kernel by default. If you say N, ASSERT failures | |
241 | result in warnings. | |
242 | ||
243 | This behavior can be modified at runtime via sysfs. |