1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunconfig XFS_FS 3*4882a593Smuzhiyun tristate "XFS filesystem support" 4*4882a593Smuzhiyun depends on BLOCK 5*4882a593Smuzhiyun select EXPORTFS 6*4882a593Smuzhiyun select LIBCRC32C 7*4882a593Smuzhiyun select FS_IOMAP 8*4882a593Smuzhiyun help 9*4882a593Smuzhiyun XFS is a high performance journaling filesystem which originated 10*4882a593Smuzhiyun on the SGI IRIX platform. It is completely multi-threaded, can 11*4882a593Smuzhiyun support large files and large filesystems, extended attributes, 12*4882a593Smuzhiyun variable block sizes, is extent based, and makes extensive use of 13*4882a593Smuzhiyun Btrees (directories, extents, free space) to aid both performance 14*4882a593Smuzhiyun and scalability. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun Refer to the documentation at <http://oss.sgi.com/projects/xfs/> 17*4882a593Smuzhiyun for complete details. This implementation is on-disk compatible 18*4882a593Smuzhiyun with the IRIX version of XFS. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun To compile this file system support as a module, choose M here: the 21*4882a593Smuzhiyun module will be called xfs. Be aware, however, that if the file 22*4882a593Smuzhiyun system of your root partition is compiled as a module, you'll need 23*4882a593Smuzhiyun to use an initial ramdisk (initrd) to boot. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunconfig XFS_SUPPORT_V4 26*4882a593Smuzhiyun bool "Support deprecated V4 (crc=0) format" 27*4882a593Smuzhiyun depends on XFS_FS 28*4882a593Smuzhiyun default y 29*4882a593Smuzhiyun help 30*4882a593Smuzhiyun The V4 filesystem format lacks certain features that are supported 31*4882a593Smuzhiyun by the V5 format, such as metadata checksumming, strengthened 32*4882a593Smuzhiyun metadata verification, and the ability to store timestamps past the 33*4882a593Smuzhiyun year 2038. Because of this, the V4 format is deprecated. All users 34*4882a593Smuzhiyun should upgrade by backing up their files, reformatting, and restoring 35*4882a593Smuzhiyun from the backup. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun Administrators and users can detect a V4 filesystem by running 38*4882a593Smuzhiyun xfs_info against a filesystem mountpoint and checking for a string 39*4882a593Smuzhiyun beginning with "crc=". If the string "crc=0" is found, the 40*4882a593Smuzhiyun filesystem is a V4 filesystem. If no such string is found, please 41*4882a593Smuzhiyun upgrade xfsprogs to the latest version and try again. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun This option will become default N in September 2025. Support for the 44*4882a593Smuzhiyun V4 format will be removed entirely in September 2030. Distributors 45*4882a593Smuzhiyun can say N here to withdraw support earlier. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun To continue supporting the old V4 format (crc=0), say Y. 48*4882a593Smuzhiyun To close off an attack surface, say N. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunconfig XFS_QUOTA 51*4882a593Smuzhiyun bool "XFS Quota support" 52*4882a593Smuzhiyun depends on XFS_FS 53*4882a593Smuzhiyun select QUOTACTL 54*4882a593Smuzhiyun help 55*4882a593Smuzhiyun If you say Y here, you will be able to set limits for disk usage on 56*4882a593Smuzhiyun a per user and/or a per group basis under XFS. XFS considers quota 57*4882a593Smuzhiyun information as filesystem metadata and uses journaling to provide a 58*4882a593Smuzhiyun higher level guarantee of consistency. The on-disk data format for 59*4882a593Smuzhiyun quota is also compatible with the IRIX version of XFS, allowing a 60*4882a593Smuzhiyun filesystem to be migrated between Linux and IRIX without any need 61*4882a593Smuzhiyun for conversion. 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun If unsure, say N. More comprehensive documentation can be found in 64*4882a593Smuzhiyun README.quota in the xfsprogs package. XFS quota can be used either 65*4882a593Smuzhiyun with or without the generic quota support enabled (CONFIG_QUOTA) - 66*4882a593Smuzhiyun they are completely independent subsystems. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyunconfig XFS_POSIX_ACL 69*4882a593Smuzhiyun bool "XFS POSIX ACL support" 70*4882a593Smuzhiyun depends on XFS_FS 71*4882a593Smuzhiyun select FS_POSIX_ACL 72*4882a593Smuzhiyun help 73*4882a593Smuzhiyun POSIX Access Control Lists (ACLs) support permissions for users and 74*4882a593Smuzhiyun groups beyond the owner/group/world scheme. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun If you don't know what Access Control Lists are, say N. 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunconfig XFS_RT 79*4882a593Smuzhiyun bool "XFS Realtime subvolume support" 80*4882a593Smuzhiyun depends on XFS_FS 81*4882a593Smuzhiyun help 82*4882a593Smuzhiyun If you say Y here you will be able to mount and use XFS filesystems 83*4882a593Smuzhiyun which contain a realtime subvolume. The realtime subvolume is a 84*4882a593Smuzhiyun separate area of disk space where only file data is stored. It was 85*4882a593Smuzhiyun originally designed to provide deterministic data rates suitable 86*4882a593Smuzhiyun for media streaming applications, but is also useful as a generic 87*4882a593Smuzhiyun mechanism for ensuring data and metadata/log I/Os are completely 88*4882a593Smuzhiyun separated. Regular file I/Os are isolated to a separate device 89*4882a593Smuzhiyun from all other requests, and this can be done quite transparently 90*4882a593Smuzhiyun to applications via the inherit-realtime directory inode flag. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun See the xfs man page in section 5 for additional information. 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun If unsure, say N. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunconfig XFS_ONLINE_SCRUB 97*4882a593Smuzhiyun bool "XFS online metadata check support" 98*4882a593Smuzhiyun default n 99*4882a593Smuzhiyun depends on XFS_FS 100*4882a593Smuzhiyun help 101*4882a593Smuzhiyun If you say Y here you will be able to check metadata on a 102*4882a593Smuzhiyun mounted XFS filesystem. This feature is intended to reduce 103*4882a593Smuzhiyun filesystem downtime by supplementing xfs_repair. The key 104*4882a593Smuzhiyun advantage here is to look for problems proactively so that 105*4882a593Smuzhiyun they can be dealt with in a controlled manner. 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun This feature is considered EXPERIMENTAL. Use with caution! 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun See the xfs_scrub man page in section 8 for additional information. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun If unsure, say N. 112*4882a593Smuzhiyun 113*4882a593Smuzhiyunconfig XFS_ONLINE_REPAIR 114*4882a593Smuzhiyun bool "XFS online metadata repair support" 115*4882a593Smuzhiyun default n 116*4882a593Smuzhiyun depends on XFS_FS && XFS_ONLINE_SCRUB 117*4882a593Smuzhiyun help 118*4882a593Smuzhiyun If you say Y here you will be able to repair metadata on a 119*4882a593Smuzhiyun mounted XFS filesystem. This feature is intended to reduce 120*4882a593Smuzhiyun filesystem downtime by fixing minor problems before they cause the 121*4882a593Smuzhiyun filesystem to go down. However, it requires that the filesystem be 122*4882a593Smuzhiyun formatted with secondary metadata, such as reverse mappings and inode 123*4882a593Smuzhiyun parent pointers. 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun This feature is considered EXPERIMENTAL. Use with caution! 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun See the xfs_scrub man page in section 8 for additional information. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun If unsure, say N. 130*4882a593Smuzhiyun 131*4882a593Smuzhiyunconfig XFS_WARN 132*4882a593Smuzhiyun bool "XFS Verbose Warnings" 133*4882a593Smuzhiyun depends on XFS_FS && !XFS_DEBUG 134*4882a593Smuzhiyun help 135*4882a593Smuzhiyun Say Y here to get an XFS build with many additional warnings. 136*4882a593Smuzhiyun It converts ASSERT checks to WARN, so will log any out-of-bounds 137*4882a593Smuzhiyun conditions that occur that would otherwise be missed. It is much 138*4882a593Smuzhiyun lighter weight than XFS_DEBUG and does not modify algorithms and will 139*4882a593Smuzhiyun not cause the kernel to panic on non-fatal errors. 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun However, similar to XFS_DEBUG, it is only advisable to use this if you 142*4882a593Smuzhiyun are debugging a particular problem. 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunconfig XFS_DEBUG 145*4882a593Smuzhiyun bool "XFS Debugging support" 146*4882a593Smuzhiyun depends on XFS_FS 147*4882a593Smuzhiyun help 148*4882a593Smuzhiyun Say Y here to get an XFS build with many debugging features, 149*4882a593Smuzhiyun including ASSERT checks, function wrappers around macros, 150*4882a593Smuzhiyun and extra sanity-checking functions in various code paths. 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun Note that the resulting code will be HUGE and SLOW, and probably 153*4882a593Smuzhiyun not useful unless you are debugging a particular problem. 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun Say N unless you are an XFS developer, or you play one on TV. 156*4882a593Smuzhiyun 157*4882a593Smuzhiyunconfig XFS_ASSERT_FATAL 158*4882a593Smuzhiyun bool "XFS fatal asserts" 159*4882a593Smuzhiyun default y 160*4882a593Smuzhiyun depends on XFS_FS && XFS_DEBUG 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun Set the default DEBUG mode ASSERT failure behavior. 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun Say Y here to cause DEBUG mode ASSERT failures to result in fatal 165*4882a593Smuzhiyun errors that BUG() the kernel by default. If you say N, ASSERT failures 166*4882a593Smuzhiyun result in warnings. 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun This behavior can be modified at runtime via sysfs. 169