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 | ||
1da177e4 | 50 | config XFS_QUOTA |
538524ae | 51 | bool "XFS Quota support" |
1da177e4 | 52 | depends on XFS_FS |
80f44b15 | 53 | select QUOTACTL |
1da177e4 LT |
54 | help |
55 | If you say Y here, you will be able to set limits for disk usage on | |
56 | a per user and/or a per group basis under XFS. XFS considers quota | |
57 | information as filesystem metadata and uses journaling to provide a | |
58 | higher level guarantee of consistency. The on-disk data format for | |
59 | quota is also compatible with the IRIX version of XFS, allowing a | |
60 | filesystem to be migrated between Linux and IRIX without any need | |
61 | for conversion. | |
62 | ||
63 | If unsure, say N. More comprehensive documentation can be found in | |
64 | README.quota in the xfsprogs package. XFS quota can be used either | |
65 | with or without the generic quota support enabled (CONFIG_QUOTA) - | |
66 | they are completely independent subsystems. | |
67 | ||
1da177e4 | 68 | config XFS_POSIX_ACL |
20ba0287 | 69 | bool "XFS POSIX ACL support" |
1da177e4 | 70 | depends on XFS_FS |
ef14f0c1 | 71 | select FS_POSIX_ACL |
1da177e4 LT |
72 | help |
73 | POSIX Access Control Lists (ACLs) support permissions for users and | |
74 | groups beyond the owner/group/world scheme. | |
75 | ||
1da177e4 LT |
76 | If you don't know what Access Control Lists are, say N. |
77 | ||
20ba0287 | 78 | config XFS_RT |
d7ede1aa NS |
79 | bool "XFS Realtime subvolume support" |
80 | depends on XFS_FS | |
20ba0287 NS |
81 | help |
82 | If you say Y here you will be able to mount and use XFS filesystems | |
d7ede1aa NS |
83 | which contain a realtime subvolume. The realtime subvolume is a |
84 | separate area of disk space where only file data is stored. It was | |
85 | originally designed to provide deterministic data rates suitable | |
86 | for media streaming applications, but is also useful as a generic | |
87 | mechanism for ensuring data and metadata/log I/Os are completely | |
88 | separated. Regular file I/Os are isolated to a separate device | |
89 | from all other requests, and this can be done quite transparently | |
90 | to applications via the inherit-realtime directory inode flag. | |
20ba0287 | 91 | |
d7ede1aa | 92 | See the xfs man page in section 5 for additional information. |
20ba0287 NS |
93 | |
94 | If unsure, say N. | |
7788fae6 | 95 | |
36fd6e86 DW |
96 | config XFS_ONLINE_SCRUB |
97 | bool "XFS online metadata check support" | |
98 | default n | |
99 | depends on XFS_FS | |
100 | help | |
101 | If you say Y here you will be able to check metadata on a | |
102 | mounted XFS filesystem. This feature is intended to reduce | |
103 | filesystem downtime by supplementing xfs_repair. The key | |
104 | advantage here is to look for problems proactively so that | |
105 | they can be dealt with in a controlled manner. | |
106 | ||
107 | This feature is considered EXPERIMENTAL. Use with caution! | |
108 | ||
109 | See the xfs_scrub man page in section 8 for additional information. | |
110 | ||
111 | If unsure, say N. | |
112 | ||
84d42ea6 DW |
113 | config XFS_ONLINE_REPAIR |
114 | bool "XFS online metadata repair support" | |
115 | default n | |
116 | depends on XFS_FS && XFS_ONLINE_SCRUB | |
117 | help | |
118 | If you say Y here you will be able to repair metadata on a | |
119 | mounted XFS filesystem. This feature is intended to reduce | |
120 | filesystem downtime by fixing minor problems before they cause the | |
121 | filesystem to go down. However, it requires that the filesystem be | |
122 | formatted with secondary metadata, such as reverse mappings and inode | |
123 | parent pointers. | |
124 | ||
125 | This feature is considered EXPERIMENTAL. Use with caution! | |
126 | ||
127 | See the xfs_scrub man page in section 8 for additional information. | |
128 | ||
129 | If unsure, say N. | |
130 | ||
742ae1e3 DC |
131 | config XFS_WARN |
132 | bool "XFS Verbose Warnings" | |
133 | depends on XFS_FS && !XFS_DEBUG | |
134 | help | |
135 | Say Y here to get an XFS build with many additional warnings. | |
136 | It converts ASSERT checks to WARN, so will log any out-of-bounds | |
137 | conditions that occur that would otherwise be missed. It is much | |
138 | lighter weight than XFS_DEBUG and does not modify algorithms and will | |
139 | not cause the kernel to panic on non-fatal errors. | |
140 | ||
141 | However, similar to XFS_DEBUG, it is only advisable to use this if you | |
142 | are debugging a particular problem. | |
143 | ||
7788fae6 | 144 | config XFS_DEBUG |
d9777b8d KC |
145 | bool "XFS Debugging support" |
146 | depends on XFS_FS | |
7788fae6 CH |
147 | help |
148 | Say Y here to get an XFS build with many debugging features, | |
149 | including ASSERT checks, function wrappers around macros, | |
150 | and extra sanity-checking functions in various code paths. | |
151 | ||
152 | Note that the resulting code will be HUGE and SLOW, and probably | |
153 | not useful unless you are debugging a particular problem. | |
154 | ||
155 | Say N unless you are an XFS developer, or you play one on TV. | |
1040960e BF |
156 | |
157 | config XFS_ASSERT_FATAL | |
158 | bool "XFS fatal asserts" | |
159 | default y | |
160 | depends on XFS_FS && XFS_DEBUG | |
161 | help | |
162 | Set the default DEBUG mode ASSERT failure behavior. | |
163 | ||
164 | Say Y here to cause DEBUG mode ASSERT failures to result in fatal | |
165 | errors that BUG() the kernel by default. If you say N, ASSERT failures | |
166 | result in warnings. | |
167 | ||
168 | This behavior can be modified at runtime via sysfs. |