Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config XFS_FS
0003         tristate "XFS filesystem support"
0004         depends on BLOCK
0005         select EXPORTFS
0006         select LIBCRC32C
0007         select FS_IOMAP
0008         help
0009           XFS is a high performance journaling filesystem which originated
0010           on the SGI IRIX platform.  It is completely multi-threaded, can
0011           support large files and large filesystems, extended attributes,
0012           variable block sizes, is extent based, and makes extensive use of
0013           Btrees (directories, extents, free space) to aid both performance
0014           and scalability.
0015 
0016           Refer to the documentation at <http://oss.sgi.com/projects/xfs/>
0017           for complete details.  This implementation is on-disk compatible
0018           with the IRIX version of XFS.
0019 
0020           To compile this file system support as a module, choose M here: the
0021           module will be called xfs.  Be aware, however, that if the file
0022           system of your root partition is compiled as a module, you'll need
0023           to use an initial ramdisk (initrd) to boot.
0024 
0025 config XFS_SUPPORT_V4
0026         bool "Support deprecated V4 (crc=0) format"
0027         depends on XFS_FS
0028         default y
0029         help
0030           The V4 filesystem format lacks certain features that are supported
0031           by the V5 format, such as metadata checksumming, strengthened
0032           metadata verification, and the ability to store timestamps past the
0033           year 2038.  Because of this, the V4 format is deprecated.  All users
0034           should upgrade by backing up their files, reformatting, and restoring
0035           from the backup.
0036 
0037           Administrators and users can detect a V4 filesystem by running
0038           xfs_info against a filesystem mountpoint and checking for a string
0039           beginning with "crc=".  If the string "crc=0" is found, the
0040           filesystem is a V4 filesystem.  If no such string is found, please
0041           upgrade xfsprogs to the latest version and try again.
0042 
0043           This option will become default N in September 2025.  Support for the
0044           V4 format will be removed entirely in September 2030.  Distributors
0045           can say N here to withdraw support earlier.
0046 
0047           To continue supporting the old V4 format (crc=0), say Y.
0048           To close off an attack surface, say N.
0049 
0050 config XFS_QUOTA
0051         bool "XFS Quota support"
0052         depends on XFS_FS
0053         select QUOTACTL
0054         help
0055           If you say Y here, you will be able to set limits for disk usage on
0056           a per user and/or a per group basis under XFS.  XFS considers quota
0057           information as filesystem metadata and uses journaling to provide a
0058           higher level guarantee of consistency.  The on-disk data format for
0059           quota is also compatible with the IRIX version of XFS, allowing a
0060           filesystem to be migrated between Linux and IRIX without any need
0061           for conversion.
0062 
0063           If unsure, say N.  More comprehensive documentation can be found in
0064           README.quota in the xfsprogs package.  XFS quota can be used either
0065           with or without the generic quota support enabled (CONFIG_QUOTA) -
0066           they are completely independent subsystems.
0067 
0068 config XFS_POSIX_ACL
0069         bool "XFS POSIX ACL support"
0070         depends on XFS_FS
0071         select FS_POSIX_ACL
0072         help
0073           POSIX Access Control Lists (ACLs) support permissions for users and
0074           groups beyond the owner/group/world scheme.
0075 
0076           If you don't know what Access Control Lists are, say N.
0077 
0078 config XFS_RT
0079         bool "XFS Realtime subvolume support"
0080         depends on XFS_FS
0081         help
0082           If you say Y here you will be able to mount and use XFS filesystems
0083           which contain a realtime subvolume.  The realtime subvolume is a
0084           separate area of disk space where only file data is stored.  It was
0085           originally designed to provide deterministic data rates suitable
0086           for media streaming applications, but is also useful as a generic
0087           mechanism for ensuring data and metadata/log I/Os are completely
0088           separated.  Regular file I/Os are isolated to a separate device
0089           from all other requests, and this can be done quite transparently
0090           to applications via the inherit-realtime directory inode flag.
0091 
0092           See the xfs man page in section 5 for additional information.
0093 
0094           If unsure, say N.
0095 
0096 config XFS_ONLINE_SCRUB
0097         bool "XFS online metadata check support"
0098         default n
0099         depends on XFS_FS
0100         help
0101           If you say Y here you will be able to check metadata on a
0102           mounted XFS filesystem.  This feature is intended to reduce
0103           filesystem downtime by supplementing xfs_repair.  The key
0104           advantage here is to look for problems proactively so that
0105           they can be dealt with in a controlled manner.
0106 
0107           This feature is considered EXPERIMENTAL.  Use with caution!
0108 
0109           See the xfs_scrub man page in section 8 for additional information.
0110 
0111           If unsure, say N.
0112 
0113 config XFS_ONLINE_REPAIR
0114         bool "XFS online metadata repair support"
0115         default n
0116         depends on XFS_FS && XFS_ONLINE_SCRUB
0117         help
0118           If you say Y here you will be able to repair metadata on a
0119           mounted XFS filesystem.  This feature is intended to reduce
0120           filesystem downtime by fixing minor problems before they cause the
0121           filesystem to go down.  However, it requires that the filesystem be
0122           formatted with secondary metadata, such as reverse mappings and inode
0123           parent pointers.
0124 
0125           This feature is considered EXPERIMENTAL.  Use with caution!
0126 
0127           See the xfs_scrub man page in section 8 for additional information.
0128 
0129           If unsure, say N.
0130 
0131 config XFS_WARN
0132         bool "XFS Verbose Warnings"
0133         depends on XFS_FS && !XFS_DEBUG
0134         help
0135           Say Y here to get an XFS build with many additional warnings.
0136           It converts ASSERT checks to WARN, so will log any out-of-bounds
0137           conditions that occur that would otherwise be missed. It is much
0138           lighter weight than XFS_DEBUG and does not modify algorithms and will
0139           not cause the kernel to panic on non-fatal errors.
0140 
0141           However, similar to XFS_DEBUG, it is only advisable to use this if you
0142           are debugging a particular problem.
0143 
0144 config XFS_DEBUG
0145         bool "XFS Debugging support"
0146         depends on XFS_FS
0147         help
0148           Say Y here to get an XFS build with many debugging features,
0149           including ASSERT checks, function wrappers around macros,
0150           and extra sanity-checking functions in various code paths.
0151 
0152           Note that the resulting code will be HUGE and SLOW, and probably
0153           not useful unless you are debugging a particular problem.
0154 
0155           Say N unless you are an XFS developer, or you play one on TV.
0156 
0157 config XFS_ASSERT_FATAL
0158         bool "XFS fatal asserts"
0159         default y
0160         depends on XFS_FS && XFS_DEBUG
0161         help
0162           Set the default DEBUG mode ASSERT failure behavior.
0163 
0164           Say Y here to cause DEBUG mode ASSERT failures to result in fatal
0165           errors that BUG() the kernel by default. If you say N, ASSERT failures
0166           result in warnings.
0167 
0168           This behavior can be modified at runtime via sysfs.