18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig XFS_FS 38c2ecf20Sopenharmony_ci tristate "XFS filesystem support" 48c2ecf20Sopenharmony_ci depends on BLOCK 58c2ecf20Sopenharmony_ci select EXPORTFS 68c2ecf20Sopenharmony_ci select LIBCRC32C 78c2ecf20Sopenharmony_ci select FS_IOMAP 88c2ecf20Sopenharmony_ci help 98c2ecf20Sopenharmony_ci XFS is a high performance journaling filesystem which originated 108c2ecf20Sopenharmony_ci on the SGI IRIX platform. It is completely multi-threaded, can 118c2ecf20Sopenharmony_ci support large files and large filesystems, extended attributes, 128c2ecf20Sopenharmony_ci variable block sizes, is extent based, and makes extensive use of 138c2ecf20Sopenharmony_ci Btrees (directories, extents, free space) to aid both performance 148c2ecf20Sopenharmony_ci and scalability. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci Refer to the documentation at <http://oss.sgi.com/projects/xfs/> 178c2ecf20Sopenharmony_ci for complete details. This implementation is on-disk compatible 188c2ecf20Sopenharmony_ci with the IRIX version of XFS. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci To compile this file system support as a module, choose M here: the 218c2ecf20Sopenharmony_ci module will be called xfs. Be aware, however, that if the file 228c2ecf20Sopenharmony_ci system of your root partition is compiled as a module, you'll need 238c2ecf20Sopenharmony_ci to use an initial ramdisk (initrd) to boot. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciconfig XFS_SUPPORT_V4 268c2ecf20Sopenharmony_ci bool "Support deprecated V4 (crc=0) format" 278c2ecf20Sopenharmony_ci depends on XFS_FS 288c2ecf20Sopenharmony_ci default y 298c2ecf20Sopenharmony_ci help 308c2ecf20Sopenharmony_ci The V4 filesystem format lacks certain features that are supported 318c2ecf20Sopenharmony_ci by the V5 format, such as metadata checksumming, strengthened 328c2ecf20Sopenharmony_ci metadata verification, and the ability to store timestamps past the 338c2ecf20Sopenharmony_ci year 2038. Because of this, the V4 format is deprecated. All users 348c2ecf20Sopenharmony_ci should upgrade by backing up their files, reformatting, and restoring 358c2ecf20Sopenharmony_ci from the backup. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci Administrators and users can detect a V4 filesystem by running 388c2ecf20Sopenharmony_ci xfs_info against a filesystem mountpoint and checking for a string 398c2ecf20Sopenharmony_ci beginning with "crc=". If the string "crc=0" is found, the 408c2ecf20Sopenharmony_ci filesystem is a V4 filesystem. If no such string is found, please 418c2ecf20Sopenharmony_ci upgrade xfsprogs to the latest version and try again. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci This option will become default N in September 2025. Support for the 448c2ecf20Sopenharmony_ci V4 format will be removed entirely in September 2030. Distributors 458c2ecf20Sopenharmony_ci can say N here to withdraw support earlier. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci To continue supporting the old V4 format (crc=0), say Y. 488c2ecf20Sopenharmony_ci To close off an attack surface, say N. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciconfig XFS_QUOTA 518c2ecf20Sopenharmony_ci bool "XFS Quota support" 528c2ecf20Sopenharmony_ci depends on XFS_FS 538c2ecf20Sopenharmony_ci select QUOTACTL 548c2ecf20Sopenharmony_ci help 558c2ecf20Sopenharmony_ci If you say Y here, you will be able to set limits for disk usage on 568c2ecf20Sopenharmony_ci a per user and/or a per group basis under XFS. XFS considers quota 578c2ecf20Sopenharmony_ci information as filesystem metadata and uses journaling to provide a 588c2ecf20Sopenharmony_ci higher level guarantee of consistency. The on-disk data format for 598c2ecf20Sopenharmony_ci quota is also compatible with the IRIX version of XFS, allowing a 608c2ecf20Sopenharmony_ci filesystem to be migrated between Linux and IRIX without any need 618c2ecf20Sopenharmony_ci for conversion. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci If unsure, say N. More comprehensive documentation can be found in 648c2ecf20Sopenharmony_ci README.quota in the xfsprogs package. XFS quota can be used either 658c2ecf20Sopenharmony_ci with or without the generic quota support enabled (CONFIG_QUOTA) - 668c2ecf20Sopenharmony_ci they are completely independent subsystems. 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ciconfig XFS_POSIX_ACL 698c2ecf20Sopenharmony_ci bool "XFS POSIX ACL support" 708c2ecf20Sopenharmony_ci depends on XFS_FS 718c2ecf20Sopenharmony_ci select FS_POSIX_ACL 728c2ecf20Sopenharmony_ci help 738c2ecf20Sopenharmony_ci POSIX Access Control Lists (ACLs) support permissions for users and 748c2ecf20Sopenharmony_ci groups beyond the owner/group/world scheme. 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci If you don't know what Access Control Lists are, say N. 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ciconfig XFS_RT 798c2ecf20Sopenharmony_ci bool "XFS Realtime subvolume support" 808c2ecf20Sopenharmony_ci depends on XFS_FS 818c2ecf20Sopenharmony_ci help 828c2ecf20Sopenharmony_ci If you say Y here you will be able to mount and use XFS filesystems 838c2ecf20Sopenharmony_ci which contain a realtime subvolume. The realtime subvolume is a 848c2ecf20Sopenharmony_ci separate area of disk space where only file data is stored. It was 858c2ecf20Sopenharmony_ci originally designed to provide deterministic data rates suitable 868c2ecf20Sopenharmony_ci for media streaming applications, but is also useful as a generic 878c2ecf20Sopenharmony_ci mechanism for ensuring data and metadata/log I/Os are completely 888c2ecf20Sopenharmony_ci separated. Regular file I/Os are isolated to a separate device 898c2ecf20Sopenharmony_ci from all other requests, and this can be done quite transparently 908c2ecf20Sopenharmony_ci to applications via the inherit-realtime directory inode flag. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci See the xfs man page in section 5 for additional information. 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci If unsure, say N. 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ciconfig XFS_ONLINE_SCRUB 978c2ecf20Sopenharmony_ci bool "XFS online metadata check support" 988c2ecf20Sopenharmony_ci default n 998c2ecf20Sopenharmony_ci depends on XFS_FS 1008c2ecf20Sopenharmony_ci help 1018c2ecf20Sopenharmony_ci If you say Y here you will be able to check metadata on a 1028c2ecf20Sopenharmony_ci mounted XFS filesystem. This feature is intended to reduce 1038c2ecf20Sopenharmony_ci filesystem downtime by supplementing xfs_repair. The key 1048c2ecf20Sopenharmony_ci advantage here is to look for problems proactively so that 1058c2ecf20Sopenharmony_ci they can be dealt with in a controlled manner. 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci This feature is considered EXPERIMENTAL. Use with caution! 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci See the xfs_scrub man page in section 8 for additional information. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci If unsure, say N. 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ciconfig XFS_ONLINE_REPAIR 1148c2ecf20Sopenharmony_ci bool "XFS online metadata repair support" 1158c2ecf20Sopenharmony_ci default n 1168c2ecf20Sopenharmony_ci depends on XFS_FS && XFS_ONLINE_SCRUB 1178c2ecf20Sopenharmony_ci help 1188c2ecf20Sopenharmony_ci If you say Y here you will be able to repair metadata on a 1198c2ecf20Sopenharmony_ci mounted XFS filesystem. This feature is intended to reduce 1208c2ecf20Sopenharmony_ci filesystem downtime by fixing minor problems before they cause the 1218c2ecf20Sopenharmony_ci filesystem to go down. However, it requires that the filesystem be 1228c2ecf20Sopenharmony_ci formatted with secondary metadata, such as reverse mappings and inode 1238c2ecf20Sopenharmony_ci parent pointers. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci This feature is considered EXPERIMENTAL. Use with caution! 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci See the xfs_scrub man page in section 8 for additional information. 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci If unsure, say N. 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ciconfig XFS_WARN 1328c2ecf20Sopenharmony_ci bool "XFS Verbose Warnings" 1338c2ecf20Sopenharmony_ci depends on XFS_FS && !XFS_DEBUG 1348c2ecf20Sopenharmony_ci help 1358c2ecf20Sopenharmony_ci Say Y here to get an XFS build with many additional warnings. 1368c2ecf20Sopenharmony_ci It converts ASSERT checks to WARN, so will log any out-of-bounds 1378c2ecf20Sopenharmony_ci conditions that occur that would otherwise be missed. It is much 1388c2ecf20Sopenharmony_ci lighter weight than XFS_DEBUG and does not modify algorithms and will 1398c2ecf20Sopenharmony_ci not cause the kernel to panic on non-fatal errors. 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci However, similar to XFS_DEBUG, it is only advisable to use this if you 1428c2ecf20Sopenharmony_ci are debugging a particular problem. 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ciconfig XFS_DEBUG 1458c2ecf20Sopenharmony_ci bool "XFS Debugging support" 1468c2ecf20Sopenharmony_ci depends on XFS_FS 1478c2ecf20Sopenharmony_ci help 1488c2ecf20Sopenharmony_ci Say Y here to get an XFS build with many debugging features, 1498c2ecf20Sopenharmony_ci including ASSERT checks, function wrappers around macros, 1508c2ecf20Sopenharmony_ci and extra sanity-checking functions in various code paths. 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci Note that the resulting code will be HUGE and SLOW, and probably 1538c2ecf20Sopenharmony_ci not useful unless you are debugging a particular problem. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci Say N unless you are an XFS developer, or you play one on TV. 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ciconfig XFS_ASSERT_FATAL 1588c2ecf20Sopenharmony_ci bool "XFS fatal asserts" 1598c2ecf20Sopenharmony_ci default y 1608c2ecf20Sopenharmony_ci depends on XFS_FS && XFS_DEBUG 1618c2ecf20Sopenharmony_ci help 1628c2ecf20Sopenharmony_ci Set the default DEBUG mode ASSERT failure behavior. 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci Say Y here to cause DEBUG mode ASSERT failures to result in fatal 1658c2ecf20Sopenharmony_ci errors that BUG() the kernel by default. If you say N, ASSERT failures 1668c2ecf20Sopenharmony_ci result in warnings. 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci This behavior can be modified at runtime via sysfs. 169