Merge tag 'for-linus-20180413' of git://git.kernel.dk/linux-block
[linux-2.6-block.git] / fs / xfs / Kconfig
1 config XFS_FS
2         tristate "XFS filesystem support"
3         depends on BLOCK
4         depends on (64BIT || LBDAF)
5         select EXPORTFS
6         select LIBCRC32C
7         select FS_IOMAP
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
25 config XFS_QUOTA
26         bool "XFS Quota support"
27         depends on XFS_FS
28         select QUOTACTL
29         help
30           If you say Y here, you will be able to set limits for disk usage on
31           a per user and/or a per group basis under XFS.  XFS considers quota
32           information as filesystem metadata and uses journaling to provide a
33           higher level guarantee of consistency.  The on-disk data format for
34           quota is also compatible with the IRIX version of XFS, allowing a
35           filesystem to be migrated between Linux and IRIX without any need
36           for conversion.
37
38           If unsure, say N.  More comprehensive documentation can be found in
39           README.quota in the xfsprogs package.  XFS quota can be used either
40           with or without the generic quota support enabled (CONFIG_QUOTA) -
41           they are completely independent subsystems.
42
43 config XFS_POSIX_ACL
44         bool "XFS POSIX ACL support"
45         depends on XFS_FS
46         select FS_POSIX_ACL
47         help
48           POSIX Access Control Lists (ACLs) support permissions for users and
49           groups beyond the owner/group/world scheme.
50
51           If you don't know what Access Control Lists are, say N.
52
53 config XFS_RT
54         bool "XFS Realtime subvolume support"
55         depends on XFS_FS
56         help
57           If you say Y here you will be able to mount and use XFS filesystems
58           which contain a realtime subvolume.  The realtime subvolume is a
59           separate area of disk space where only file data is stored.  It was
60           originally designed to provide deterministic data rates suitable
61           for media streaming applications, but is also useful as a generic
62           mechanism for ensuring data and metadata/log I/Os are completely
63           separated.  Regular file I/Os are isolated to a separate device
64           from all other requests, and this can be done quite transparently
65           to applications via the inherit-realtime directory inode flag.
66
67           See the xfs man page in section 5 for additional information.
68
69           If unsure, say N.
70
71 config XFS_ONLINE_SCRUB
72         bool "XFS online metadata check support"
73         default n
74         depends on XFS_FS
75         help
76           If you say Y here you will be able to check metadata on a
77           mounted XFS filesystem.  This feature is intended to reduce
78           filesystem downtime by supplementing xfs_repair.  The key
79           advantage here is to look for problems proactively so that
80           they can be dealt with in a controlled manner.
81
82           This feature is considered EXPERIMENTAL.  Use with caution!
83
84           See the xfs_scrub man page in section 8 for additional information.
85
86           If unsure, say N.
87
88 config XFS_WARN
89         bool "XFS Verbose Warnings"
90         depends on XFS_FS && !XFS_DEBUG
91         help
92           Say Y here to get an XFS build with many additional warnings.
93           It converts ASSERT checks to WARN, so will log any out-of-bounds
94           conditions that occur that would otherwise be missed. It is much
95           lighter weight than XFS_DEBUG and does not modify algorithms and will
96           not cause the kernel to panic on non-fatal errors.
97
98           However, similar to XFS_DEBUG, it is only advisable to use this if you
99           are debugging a particular problem.
100
101 config XFS_DEBUG
102         bool "XFS Debugging support"
103         depends on XFS_FS
104         help
105           Say Y here to get an XFS build with many debugging features,
106           including ASSERT checks, function wrappers around macros,
107           and extra sanity-checking functions in various code paths.
108
109           Note that the resulting code will be HUGE and SLOW, and probably
110           not useful unless you are debugging a particular problem.
111
112           Say N unless you are an XFS developer, or you play one on TV.
113
114 config XFS_ASSERT_FATAL
115         bool "XFS fatal asserts"
116         default y
117         depends on XFS_FS && XFS_DEBUG
118         help
119           Set the default DEBUG mode ASSERT failure behavior.
120
121           Say Y here to cause DEBUG mode ASSERT failures to result in fatal
122           errors that BUG() the kernel by default. If you say N, ASSERT failures
123           result in warnings.
124
125           This behavior can be modified at runtime via sysfs.