Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | config XFS_FS |
| 3 | tristate "XFS filesystem support" |
David Howells | 9361401 | 2006-09-30 20:45:40 +0200 | [diff] [blame] | 4 | depends on BLOCK |
Christoph Hellwig | d296d30 | 2009-01-19 02:02:57 +0100 | [diff] [blame] | 5 | select EXPORTFS |
Christoph Hellwig | bc02e86 | 2012-11-16 09:20:37 +1100 | [diff] [blame] | 6 | select LIBCRC32C |
Christoph Hellwig | 68a9f5e | 2016-06-21 09:53:44 +1000 | [diff] [blame] | 7 | select FS_IOMAP |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Darrick J. Wong | b96cb83 | 2020-09-10 10:57:17 -0700 | [diff] [blame] | 25 | config XFS_SUPPORT_V4 |
| 26 | bool "Support deprecated V4 (crc=0) format" |
Darrick J. Wong | 8946455 | 2020-10-12 14:10:03 -0700 | [diff] [blame] | 27 | depends on XFS_FS |
Darrick J. Wong | b96cb83 | 2020-09-10 10:57:17 -0700 | [diff] [blame] | 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 | config XFS_QUOTA |
Nathan Scott | 538524a | 2005-11-03 13:55:06 +1100 | [diff] [blame] | 51 | bool "XFS Quota support" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 52 | depends on XFS_FS |
Jan Kara | 80f44b1 | 2010-08-17 12:14:44 +0200 | [diff] [blame] | 53 | select QUOTACTL |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 68 | config XFS_POSIX_ACL |
Nathan Scott | 20ba028 | 2005-09-08 15:34:58 +1000 | [diff] [blame] | 69 | bool "XFS POSIX ACL support" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 70 | depends on XFS_FS |
Christoph Hellwig | ef14f0c | 2009-06-10 17:07:47 +0200 | [diff] [blame] | 71 | select FS_POSIX_ACL |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 72 | help |
| 73 | POSIX Access Control Lists (ACLs) support permissions for users and |
| 74 | groups beyond the owner/group/world scheme. |
| 75 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 | If you don't know what Access Control Lists are, say N. |
| 77 | |
Nathan Scott | 20ba028 | 2005-09-08 15:34:58 +1000 | [diff] [blame] | 78 | config XFS_RT |
Nathan Scott | d7ede1a | 2006-06-13 16:28:11 +1000 | [diff] [blame] | 79 | bool "XFS Realtime subvolume support" |
| 80 | depends on XFS_FS |
Nathan Scott | 20ba028 | 2005-09-08 15:34:58 +1000 | [diff] [blame] | 81 | help |
| 82 | If you say Y here you will be able to mount and use XFS filesystems |
Nathan Scott | d7ede1a | 2006-06-13 16:28:11 +1000 | [diff] [blame] | 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. |
Nathan Scott | 20ba028 | 2005-09-08 15:34:58 +1000 | [diff] [blame] | 91 | |
Nathan Scott | d7ede1a | 2006-06-13 16:28:11 +1000 | [diff] [blame] | 92 | See the xfs man page in section 5 for additional information. |
Nathan Scott | 20ba028 | 2005-09-08 15:34:58 +1000 | [diff] [blame] | 93 | |
| 94 | If unsure, say N. |
Christoph Hellwig | 7788fae | 2008-04-21 17:22:27 +1000 | [diff] [blame] | 95 | |
Darrick J. Wong | 36fd6e8 | 2017-10-17 21:37:34 -0700 | [diff] [blame] | 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 | |
Darrick J. Wong | 84d42ea | 2018-05-14 06:34:36 -0700 | [diff] [blame] | 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 | |
Dave Chinner | 742ae1e | 2013-04-30 21:39:34 +1000 | [diff] [blame] | 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 | |
Christoph Hellwig | 7788fae | 2008-04-21 17:22:27 +1000 | [diff] [blame] | 144 | config XFS_DEBUG |
Kees Cook | d9777b8 | 2012-10-02 11:19:27 -0700 | [diff] [blame] | 145 | bool "XFS Debugging support" |
| 146 | depends on XFS_FS |
Christoph Hellwig | 7788fae | 2008-04-21 17:22:27 +1000 | [diff] [blame] | 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. |
Brian Foster | 1040960e | 2017-06-14 21:29:13 -0700 | [diff] [blame] | 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. |