1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvaldsconfig XFS_FS 31da177e4SLinus Torvalds tristate "XFS filesystem support" 49361401eSDavid Howells depends on BLOCK 5d296d30aSChristoph Hellwig select EXPORTFS 6bc02e869SChristoph Hellwig select LIBCRC32C 768a9f5e7SChristoph Hellwig select FS_IOMAP 81da177e4SLinus Torvalds help 91da177e4SLinus Torvalds XFS is a high performance journaling filesystem which originated 101da177e4SLinus Torvalds on the SGI IRIX platform. It is completely multi-threaded, can 111da177e4SLinus Torvalds support large files and large filesystems, extended attributes, 121da177e4SLinus Torvalds variable block sizes, is extent based, and makes extensive use of 131da177e4SLinus Torvalds Btrees (directories, extents, free space) to aid both performance 141da177e4SLinus Torvalds and scalability. 151da177e4SLinus Torvalds 161da177e4SLinus Torvalds Refer to the documentation at <http://oss.sgi.com/projects/xfs/> 171da177e4SLinus Torvalds for complete details. This implementation is on-disk compatible 181da177e4SLinus Torvalds with the IRIX version of XFS. 191da177e4SLinus Torvalds 201da177e4SLinus Torvalds To compile this file system support as a module, choose M here: the 211da177e4SLinus Torvalds module will be called xfs. Be aware, however, that if the file 221da177e4SLinus Torvalds system of your root partition is compiled as a module, you'll need 231da177e4SLinus Torvalds to use an initial ramdisk (initrd) to boot. 241da177e4SLinus Torvalds 25*b96cb835SDarrick J. Wongconfig XFS_SUPPORT_V4 26*b96cb835SDarrick J. Wong bool "Support deprecated V4 (crc=0) format" 27*b96cb835SDarrick J. Wong default y 28*b96cb835SDarrick J. Wong help 29*b96cb835SDarrick J. Wong The V4 filesystem format lacks certain features that are supported 30*b96cb835SDarrick J. Wong by the V5 format, such as metadata checksumming, strengthened 31*b96cb835SDarrick J. Wong metadata verification, and the ability to store timestamps past the 32*b96cb835SDarrick J. Wong year 2038. Because of this, the V4 format is deprecated. All users 33*b96cb835SDarrick J. Wong should upgrade by backing up their files, reformatting, and restoring 34*b96cb835SDarrick J. Wong from the backup. 35*b96cb835SDarrick J. Wong 36*b96cb835SDarrick J. Wong Administrators and users can detect a V4 filesystem by running 37*b96cb835SDarrick J. Wong xfs_info against a filesystem mountpoint and checking for a string 38*b96cb835SDarrick J. Wong beginning with "crc=". If the string "crc=0" is found, the 39*b96cb835SDarrick J. Wong filesystem is a V4 filesystem. If no such string is found, please 40*b96cb835SDarrick J. Wong upgrade xfsprogs to the latest version and try again. 41*b96cb835SDarrick J. Wong 42*b96cb835SDarrick J. Wong This option will become default N in September 2025. Support for the 43*b96cb835SDarrick J. Wong V4 format will be removed entirely in September 2030. Distributors 44*b96cb835SDarrick J. Wong can say N here to withdraw support earlier. 45*b96cb835SDarrick J. Wong 46*b96cb835SDarrick J. Wong To continue supporting the old V4 format (crc=0), say Y. 47*b96cb835SDarrick J. Wong To close off an attack surface, say N. 48*b96cb835SDarrick J. Wong 491da177e4SLinus Torvaldsconfig XFS_QUOTA 50538524aeSNathan Scott bool "XFS Quota support" 511da177e4SLinus Torvalds depends on XFS_FS 5280f44b15SJan Kara select QUOTACTL 531da177e4SLinus Torvalds help 541da177e4SLinus Torvalds If you say Y here, you will be able to set limits for disk usage on 551da177e4SLinus Torvalds a per user and/or a per group basis under XFS. XFS considers quota 561da177e4SLinus Torvalds information as filesystem metadata and uses journaling to provide a 571da177e4SLinus Torvalds higher level guarantee of consistency. The on-disk data format for 581da177e4SLinus Torvalds quota is also compatible with the IRIX version of XFS, allowing a 591da177e4SLinus Torvalds filesystem to be migrated between Linux and IRIX without any need 601da177e4SLinus Torvalds for conversion. 611da177e4SLinus Torvalds 621da177e4SLinus Torvalds If unsure, say N. More comprehensive documentation can be found in 631da177e4SLinus Torvalds README.quota in the xfsprogs package. XFS quota can be used either 641da177e4SLinus Torvalds with or without the generic quota support enabled (CONFIG_QUOTA) - 651da177e4SLinus Torvalds they are completely independent subsystems. 661da177e4SLinus Torvalds 671da177e4SLinus Torvaldsconfig XFS_POSIX_ACL 6820ba0287SNathan Scott bool "XFS POSIX ACL support" 691da177e4SLinus Torvalds depends on XFS_FS 70ef14f0c1SChristoph Hellwig select FS_POSIX_ACL 711da177e4SLinus Torvalds help 721da177e4SLinus Torvalds POSIX Access Control Lists (ACLs) support permissions for users and 731da177e4SLinus Torvalds groups beyond the owner/group/world scheme. 741da177e4SLinus Torvalds 751da177e4SLinus Torvalds If you don't know what Access Control Lists are, say N. 761da177e4SLinus Torvalds 7720ba0287SNathan Scottconfig XFS_RT 78d7ede1aaSNathan Scott bool "XFS Realtime subvolume support" 79d7ede1aaSNathan Scott depends on XFS_FS 8020ba0287SNathan Scott help 8120ba0287SNathan Scott If you say Y here you will be able to mount and use XFS filesystems 8220ba0287SNathan Scott which contain a realtime subvolume. The realtime subvolume is a 83d7ede1aaSNathan Scott separate area of disk space where only file data is stored. It was 84d7ede1aaSNathan Scott originally designed to provide deterministic data rates suitable 85d7ede1aaSNathan Scott for media streaming applications, but is also useful as a generic 86d7ede1aaSNathan Scott mechanism for ensuring data and metadata/log I/Os are completely 87d7ede1aaSNathan Scott separated. Regular file I/Os are isolated to a separate device 88d7ede1aaSNathan Scott from all other requests, and this can be done quite transparently 89d7ede1aaSNathan Scott to applications via the inherit-realtime directory inode flag. 9020ba0287SNathan Scott 91d7ede1aaSNathan Scott See the xfs man page in section 5 for additional information. 9220ba0287SNathan Scott 9320ba0287SNathan Scott If unsure, say N. 947788fae6SChristoph Hellwig 9536fd6e86SDarrick J. Wongconfig XFS_ONLINE_SCRUB 9636fd6e86SDarrick J. Wong bool "XFS online metadata check support" 9736fd6e86SDarrick J. Wong default n 9836fd6e86SDarrick J. Wong depends on XFS_FS 9936fd6e86SDarrick J. Wong help 10036fd6e86SDarrick J. Wong If you say Y here you will be able to check metadata on a 10136fd6e86SDarrick J. Wong mounted XFS filesystem. This feature is intended to reduce 10236fd6e86SDarrick J. Wong filesystem downtime by supplementing xfs_repair. The key 10336fd6e86SDarrick J. Wong advantage here is to look for problems proactively so that 10436fd6e86SDarrick J. Wong they can be dealt with in a controlled manner. 10536fd6e86SDarrick J. Wong 10636fd6e86SDarrick J. Wong This feature is considered EXPERIMENTAL. Use with caution! 10736fd6e86SDarrick J. Wong 10836fd6e86SDarrick J. Wong See the xfs_scrub man page in section 8 for additional information. 10936fd6e86SDarrick J. Wong 11036fd6e86SDarrick J. Wong If unsure, say N. 11136fd6e86SDarrick J. Wong 11284d42ea6SDarrick J. Wongconfig XFS_ONLINE_REPAIR 11384d42ea6SDarrick J. Wong bool "XFS online metadata repair support" 11484d42ea6SDarrick J. Wong default n 11584d42ea6SDarrick J. Wong depends on XFS_FS && XFS_ONLINE_SCRUB 11684d42ea6SDarrick J. Wong help 11784d42ea6SDarrick J. Wong If you say Y here you will be able to repair metadata on a 11884d42ea6SDarrick J. Wong mounted XFS filesystem. This feature is intended to reduce 11984d42ea6SDarrick J. Wong filesystem downtime by fixing minor problems before they cause the 12084d42ea6SDarrick J. Wong filesystem to go down. However, it requires that the filesystem be 12184d42ea6SDarrick J. Wong formatted with secondary metadata, such as reverse mappings and inode 12284d42ea6SDarrick J. Wong parent pointers. 12384d42ea6SDarrick J. Wong 12484d42ea6SDarrick J. Wong This feature is considered EXPERIMENTAL. Use with caution! 12584d42ea6SDarrick J. Wong 12684d42ea6SDarrick J. Wong See the xfs_scrub man page in section 8 for additional information. 12784d42ea6SDarrick J. Wong 12884d42ea6SDarrick J. Wong If unsure, say N. 12984d42ea6SDarrick J. Wong 130742ae1e3SDave Chinnerconfig XFS_WARN 131742ae1e3SDave Chinner bool "XFS Verbose Warnings" 132742ae1e3SDave Chinner depends on XFS_FS && !XFS_DEBUG 133742ae1e3SDave Chinner help 134742ae1e3SDave Chinner Say Y here to get an XFS build with many additional warnings. 135742ae1e3SDave Chinner It converts ASSERT checks to WARN, so will log any out-of-bounds 136742ae1e3SDave Chinner conditions that occur that would otherwise be missed. It is much 137742ae1e3SDave Chinner lighter weight than XFS_DEBUG and does not modify algorithms and will 138742ae1e3SDave Chinner not cause the kernel to panic on non-fatal errors. 139742ae1e3SDave Chinner 140742ae1e3SDave Chinner However, similar to XFS_DEBUG, it is only advisable to use this if you 141742ae1e3SDave Chinner are debugging a particular problem. 142742ae1e3SDave Chinner 1437788fae6SChristoph Hellwigconfig XFS_DEBUG 144d9777b8dSKees Cook bool "XFS Debugging support" 145d9777b8dSKees Cook depends on XFS_FS 1467788fae6SChristoph Hellwig help 1477788fae6SChristoph Hellwig Say Y here to get an XFS build with many debugging features, 1487788fae6SChristoph Hellwig including ASSERT checks, function wrappers around macros, 1497788fae6SChristoph Hellwig and extra sanity-checking functions in various code paths. 1507788fae6SChristoph Hellwig 1517788fae6SChristoph Hellwig Note that the resulting code will be HUGE and SLOW, and probably 1527788fae6SChristoph Hellwig not useful unless you are debugging a particular problem. 1537788fae6SChristoph Hellwig 1547788fae6SChristoph Hellwig Say N unless you are an XFS developer, or you play one on TV. 1551040960eSBrian Foster 1561040960eSBrian Fosterconfig XFS_ASSERT_FATAL 1571040960eSBrian Foster bool "XFS fatal asserts" 1581040960eSBrian Foster default y 1591040960eSBrian Foster depends on XFS_FS && XFS_DEBUG 1601040960eSBrian Foster help 1611040960eSBrian Foster Set the default DEBUG mode ASSERT failure behavior. 1621040960eSBrian Foster 1631040960eSBrian Foster Say Y here to cause DEBUG mode ASSERT failures to result in fatal 1641040960eSBrian Foster errors that BUG() the kernel by default. If you say N, ASSERT failures 1651040960eSBrian Foster result in warnings. 1661040960eSBrian Foster 1671040960eSBrian Foster This behavior can be modified at runtime via sysfs. 168