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 6b261d222SEric Biggers select CRC32 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 25b96cb835SDarrick J. Wongconfig XFS_SUPPORT_V4 26b96cb835SDarrick J. Wong bool "Support deprecated V4 (crc=0) format" 2789464554SDarrick J. Wong depends on XFS_FS 28f6926051SDarrick J. Wong default n 29b96cb835SDarrick J. Wong help 30b96cb835SDarrick J. Wong The V4 filesystem format lacks certain features that are supported 31b96cb835SDarrick J. Wong by the V5 format, such as metadata checksumming, strengthened 32b96cb835SDarrick J. Wong metadata verification, and the ability to store timestamps past the 33b96cb835SDarrick J. Wong year 2038. Because of this, the V4 format is deprecated. All users 34b96cb835SDarrick J. Wong should upgrade by backing up their files, reformatting, and restoring 35b96cb835SDarrick J. Wong from the backup. 36b96cb835SDarrick J. Wong 37b96cb835SDarrick J. Wong Administrators and users can detect a V4 filesystem by running 38b96cb835SDarrick J. Wong xfs_info against a filesystem mountpoint and checking for a string 39b96cb835SDarrick J. Wong beginning with "crc=". If the string "crc=0" is found, the 40b96cb835SDarrick J. Wong filesystem is a V4 filesystem. If no such string is found, please 41b96cb835SDarrick J. Wong upgrade xfsprogs to the latest version and try again. 42b96cb835SDarrick J. Wong 43f6926051SDarrick J. Wong This option became default N in September 2025. Support for the 44b96cb835SDarrick J. Wong V4 format will be removed entirely in September 2030. Distributors 45b96cb835SDarrick J. Wong can say N here to withdraw support earlier. 46b96cb835SDarrick J. Wong 47b96cb835SDarrick J. Wong To continue supporting the old V4 format (crc=0), say Y. 48b96cb835SDarrick J. Wong To close off an attack surface, say N. 49b96cb835SDarrick J. Wong 507ba83850SDarrick J. Wongconfig XFS_SUPPORT_ASCII_CI 517ba83850SDarrick J. Wong bool "Support deprecated case-insensitive ascii (ascii-ci=1) format" 527ba83850SDarrick J. Wong depends on XFS_FS 53f6926051SDarrick J. Wong default n 547ba83850SDarrick J. Wong help 557ba83850SDarrick J. Wong The ASCII case insensitivity filesystem feature only works correctly 567ba83850SDarrick J. Wong on systems that have been coerced into using ISO 8859-1, and it does 577ba83850SDarrick J. Wong not work on extended attributes. The kernel has no visibility into 587ba83850SDarrick J. Wong the locale settings in userspace, so it corrupts UTF-8 names. 597ba83850SDarrick J. Wong Enabling this feature makes XFS vulnerable to mixed case sensitivity 607ba83850SDarrick J. Wong attacks. Because of this, the feature is deprecated. All users 617ba83850SDarrick J. Wong should upgrade by backing up their files, reformatting, and restoring 627ba83850SDarrick J. Wong from the backup. 637ba83850SDarrick J. Wong 647ba83850SDarrick J. Wong Administrators and users can detect such a filesystem by running 657ba83850SDarrick J. Wong xfs_info against a filesystem mountpoint and checking for a string 667ba83850SDarrick J. Wong beginning with "ascii-ci=". If the string "ascii-ci=1" is found, the 677ba83850SDarrick J. Wong filesystem is a case-insensitive filesystem. If no such string is 687ba83850SDarrick J. Wong found, please upgrade xfsprogs to the latest version and try again. 697ba83850SDarrick J. Wong 70f6926051SDarrick J. Wong This option became default N in September 2025. Support for the 717ba83850SDarrick J. Wong feature will be removed entirely in September 2030. Distributors 727ba83850SDarrick J. Wong can say N here to withdraw support earlier. 737ba83850SDarrick J. Wong 747ba83850SDarrick J. Wong To continue supporting case-insensitivity (ascii-ci=1), say Y. 757ba83850SDarrick J. Wong To close off an attack surface, say N. 767ba83850SDarrick J. Wong 771da177e4SLinus Torvaldsconfig XFS_QUOTA 78538524aeSNathan Scott bool "XFS Quota support" 791da177e4SLinus Torvalds depends on XFS_FS 8080f44b15SJan Kara select QUOTACTL 811da177e4SLinus Torvalds help 821da177e4SLinus Torvalds If you say Y here, you will be able to set limits for disk usage on 831da177e4SLinus Torvalds a per user and/or a per group basis under XFS. XFS considers quota 841da177e4SLinus Torvalds information as filesystem metadata and uses journaling to provide a 851da177e4SLinus Torvalds higher level guarantee of consistency. The on-disk data format for 861da177e4SLinus Torvalds quota is also compatible with the IRIX version of XFS, allowing a 871da177e4SLinus Torvalds filesystem to be migrated between Linux and IRIX without any need 881da177e4SLinus Torvalds for conversion. 891da177e4SLinus Torvalds 901da177e4SLinus Torvalds If unsure, say N. More comprehensive documentation can be found in 911da177e4SLinus Torvalds README.quota in the xfsprogs package. XFS quota can be used either 921da177e4SLinus Torvalds with or without the generic quota support enabled (CONFIG_QUOTA) - 931da177e4SLinus Torvalds they are completely independent subsystems. 941da177e4SLinus Torvalds 951da177e4SLinus Torvaldsconfig XFS_POSIX_ACL 9620ba0287SNathan Scott bool "XFS POSIX ACL support" 971da177e4SLinus Torvalds depends on XFS_FS 98ef14f0c1SChristoph Hellwig select FS_POSIX_ACL 991da177e4SLinus Torvalds help 1001da177e4SLinus Torvalds POSIX Access Control Lists (ACLs) support permissions for users and 1011da177e4SLinus Torvalds groups beyond the owner/group/world scheme. 1021da177e4SLinus Torvalds 1031da177e4SLinus Torvalds If you don't know what Access Control Lists are, say N. 1041da177e4SLinus Torvalds 10520ba0287SNathan Scottconfig XFS_RT 106d7ede1aaSNathan Scott bool "XFS Realtime subvolume support" 107d7ede1aaSNathan Scott depends on XFS_FS 1089ce43caaSDamien Le Moal default BLK_DEV_ZONED 10920ba0287SNathan Scott help 11020ba0287SNathan Scott If you say Y here you will be able to mount and use XFS filesystems 11120ba0287SNathan Scott which contain a realtime subvolume. The realtime subvolume is a 112d7ede1aaSNathan Scott separate area of disk space where only file data is stored. It was 113d7ede1aaSNathan Scott originally designed to provide deterministic data rates suitable 114d7ede1aaSNathan Scott for media streaming applications, but is also useful as a generic 115d7ede1aaSNathan Scott mechanism for ensuring data and metadata/log I/Os are completely 116d7ede1aaSNathan Scott separated. Regular file I/Os are isolated to a separate device 117d7ede1aaSNathan Scott from all other requests, and this can be done quite transparently 118d7ede1aaSNathan Scott to applications via the inherit-realtime directory inode flag. 11920ba0287SNathan Scott 120d7ede1aaSNathan Scott See the xfs man page in section 5 for additional information. 12120ba0287SNathan Scott 122914f3770SDamien Le Moal This option is mandatory to support zoned block devices. For these 123914f3770SDamien Le Moal devices, the realtime subvolume must be backed by a zoned block 124914f3770SDamien Le Moal device and a regular block device used as the main device (for 125914f3770SDamien Le Moal metadata). If the zoned block device is a host-managed SMR hard-disk 126914f3770SDamien Le Moal containing conventional zones at the beginning of its address space, 127914f3770SDamien Le Moal XFS will use the disk conventional zones as the main device and the 128914f3770SDamien Le Moal remaining sequential write required zones as the backing storage for 129914f3770SDamien Le Moal the realtime subvolume. 130914f3770SDamien Le Moal 13120ba0287SNathan Scott If unsure, say N. 1327788fae6SChristoph Hellwig 133d5c88131SDarrick J. Wongconfig XFS_DRAIN_INTENTS 134d5c88131SDarrick J. Wong bool 135466c525dSDarrick J. Wong select JUMP_LABEL if HAVE_ARCH_JUMP_LABEL 136d5c88131SDarrick J. Wong 1374e98cc90SDarrick J. Wongconfig XFS_LIVE_HOOKS 1384e98cc90SDarrick J. Wong bool 1394e98cc90SDarrick J. Wong select JUMP_LABEL if HAVE_ARCH_JUMP_LABEL 1404e98cc90SDarrick J. Wong 1415076a604SDarrick J. Wongconfig XFS_MEMORY_BUFS 1425076a604SDarrick J. Wong bool 1435076a604SDarrick J. Wong 144a095686aSDarrick J. Wongconfig XFS_BTREE_IN_MEM 145a095686aSDarrick J. Wong bool 146a095686aSDarrick J. Wong 14736fd6e86SDarrick J. Wongconfig XFS_ONLINE_SCRUB 14836fd6e86SDarrick J. Wong bool "XFS online metadata check support" 1490ff51a1fSDarrick J. Wong default y 15036fd6e86SDarrick J. Wong depends on XFS_FS 1513934e8ebSDarrick J. Wong depends on TMPFS && SHMEM 1524e98cc90SDarrick J. Wong select XFS_LIVE_HOOKS 153d5c88131SDarrick J. Wong select XFS_DRAIN_INTENTS 1545076a604SDarrick J. Wong select XFS_MEMORY_BUFS 15536fd6e86SDarrick J. Wong help 15636fd6e86SDarrick J. Wong If you say Y here you will be able to check metadata on a 15736fd6e86SDarrick J. Wong mounted XFS filesystem. This feature is intended to reduce 15836fd6e86SDarrick J. Wong filesystem downtime by supplementing xfs_repair. The key 15936fd6e86SDarrick J. Wong advantage here is to look for problems proactively so that 16036fd6e86SDarrick J. Wong they can be dealt with in a controlled manner. 16136fd6e86SDarrick J. Wong 16236fd6e86SDarrick J. Wong See the xfs_scrub man page in section 8 for additional information. 16336fd6e86SDarrick J. Wong 164d7a74cadSDarrick J. Wongconfig XFS_ONLINE_SCRUB_STATS 165d7a74cadSDarrick J. Wong bool "XFS online metadata check usage data collection" 166d7a74cadSDarrick J. Wong default y 167d7a74cadSDarrick J. Wong depends on XFS_ONLINE_SCRUB 168*f5caeb36SGeert Uytterhoeven depends on DEBUG_FS 169d7a74cadSDarrick J. Wong help 170d7a74cadSDarrick J. Wong If you say Y here, the kernel will gather usage data about 171d7a74cadSDarrick J. Wong the online metadata check subsystem. This includes the number 172d7a74cadSDarrick J. Wong of invocations, the outcomes, and the results of repairs, if any. 173d7a74cadSDarrick J. Wong This may slow down scrub slightly due to the use of high precision 174d7a74cadSDarrick J. Wong timers and the need to merge per-invocation information into the 175d7a74cadSDarrick J. Wong filesystem counters. 176d7a74cadSDarrick J. Wong 177d7a74cadSDarrick J. Wong Usage data are collected in /sys/kernel/debug/xfs/scrub. 178d7a74cadSDarrick J. Wong 17984d42ea6SDarrick J. Wongconfig XFS_ONLINE_REPAIR 18084d42ea6SDarrick J. Wong bool "XFS online metadata repair support" 1810ff51a1fSDarrick J. Wong default y 18284d42ea6SDarrick J. Wong depends on XFS_FS && XFS_ONLINE_SCRUB 183a095686aSDarrick J. Wong select XFS_BTREE_IN_MEM 18484d42ea6SDarrick J. Wong help 18584d42ea6SDarrick J. Wong If you say Y here you will be able to repair metadata on a 18684d42ea6SDarrick J. Wong mounted XFS filesystem. This feature is intended to reduce 18784d42ea6SDarrick J. Wong filesystem downtime by fixing minor problems before they cause the 18884d42ea6SDarrick J. Wong filesystem to go down. However, it requires that the filesystem be 18984d42ea6SDarrick J. Wong formatted with secondary metadata, such as reverse mappings and inode 19084d42ea6SDarrick J. Wong parent pointers. 19184d42ea6SDarrick J. Wong 19284d42ea6SDarrick J. Wong See the xfs_scrub man page in section 8 for additional information. 19384d42ea6SDarrick J. Wong 194742ae1e3SDave Chinnerconfig XFS_WARN 195742ae1e3SDave Chinner bool "XFS Verbose Warnings" 196742ae1e3SDave Chinner depends on XFS_FS && !XFS_DEBUG 197742ae1e3SDave Chinner help 198742ae1e3SDave Chinner Say Y here to get an XFS build with many additional warnings. 199742ae1e3SDave Chinner It converts ASSERT checks to WARN, so will log any out-of-bounds 200742ae1e3SDave Chinner conditions that occur that would otherwise be missed. It is much 201742ae1e3SDave Chinner lighter weight than XFS_DEBUG and does not modify algorithms and will 202742ae1e3SDave Chinner not cause the kernel to panic on non-fatal errors. 203742ae1e3SDave Chinner 204742ae1e3SDave Chinner However, similar to XFS_DEBUG, it is only advisable to use this if you 205742ae1e3SDave Chinner are debugging a particular problem. 206742ae1e3SDave Chinner 2077788fae6SChristoph Hellwigconfig XFS_DEBUG 208d9777b8dSKees Cook bool "XFS Debugging support" 209d9777b8dSKees Cook depends on XFS_FS 2107788fae6SChristoph Hellwig help 2117788fae6SChristoph Hellwig Say Y here to get an XFS build with many debugging features, 2127788fae6SChristoph Hellwig including ASSERT checks, function wrappers around macros, 2137788fae6SChristoph Hellwig and extra sanity-checking functions in various code paths. 2147788fae6SChristoph Hellwig 2157788fae6SChristoph Hellwig Note that the resulting code will be HUGE and SLOW, and probably 2167788fae6SChristoph Hellwig not useful unless you are debugging a particular problem. 2177788fae6SChristoph Hellwig 2187788fae6SChristoph Hellwig Say N unless you are an XFS developer, or you play one on TV. 2191040960eSBrian Foster 220150bb10aSDarrick J. Wongconfig XFS_DEBUG_EXPENSIVE 221150bb10aSDarrick J. Wong bool "XFS expensive debugging checks" 222150bb10aSDarrick J. Wong depends on XFS_FS && XFS_DEBUG 223150bb10aSDarrick J. Wong help 224150bb10aSDarrick J. Wong Say Y here to get an XFS build with expensive debugging checks 225150bb10aSDarrick J. Wong enabled. These checks may affect performance significantly. 226150bb10aSDarrick J. Wong 227150bb10aSDarrick J. Wong Note that the resulting code will be HUGER and SLOWER, and probably 228150bb10aSDarrick J. Wong not useful unless you are debugging a particular problem. 229150bb10aSDarrick J. Wong 230150bb10aSDarrick J. Wong Say N unless you are an XFS developer, or you play one on TV. 231150bb10aSDarrick J. Wong 2321040960eSBrian Fosterconfig XFS_ASSERT_FATAL 2331040960eSBrian Foster bool "XFS fatal asserts" 2341040960eSBrian Foster default y 2351040960eSBrian Foster depends on XFS_FS && XFS_DEBUG 2361040960eSBrian Foster help 2371040960eSBrian Foster Set the default DEBUG mode ASSERT failure behavior. 2381040960eSBrian Foster 2391040960eSBrian Foster Say Y here to cause DEBUG mode ASSERT failures to result in fatal 2401040960eSBrian Foster errors that BUG() the kernel by default. If you say N, ASSERT failures 2411040960eSBrian Foster result in warnings. 2421040960eSBrian Foster 2431040960eSBrian Foster This behavior can be modified at runtime via sysfs. 244