summaryrefslogtreecommitdiff
path: root/fs/xfs/Kconfig
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2021-01-05 17:43:28 -0800
committerDarrick J. Wong <djwong@kernel.org>2021-08-25 22:25:52 -0700
commit18c6960dbb452bd154351c74483ee33f3037f993 (patch)
tree3ded9f13500e32fe490d1097fed7e8bdb84e9677 /fs/xfs/Kconfig
parent85451b9577972b5c95b610065ccfa21067315545 (diff)
xfs: create a big array data structure
Create a simple 'big array' data structure for storage of fixed-size metadata records that will be used to reconstruct a btree index. For repair operations, the most important operations are append, iterate, and sort. Earlier implementations of the big array used linked lists and suffered from severe problems -- pinning all records in kernel memory was not a good idea and frequently lead to OOM situations; random access was very inefficient; and record overhead for the lists was unacceptably high at 40-60%. Therefore, the big memory array relies on the 'xfile' abstraction, which creates a memfd file and stores the records in page cache pages. Since the memfd is created in tmpfs, the memory pages can be pushed out to disk if necessary and we have a built-in usage limit of 50% of physical memory. Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Diffstat (limited to 'fs/xfs/Kconfig')
-rw-r--r--fs/xfs/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig
index 9fac5ea8d0e4..7f12b40146b3 100644
--- a/fs/xfs/Kconfig
+++ b/fs/xfs/Kconfig
@@ -97,6 +97,7 @@ config XFS_ONLINE_SCRUB
bool "XFS online metadata check support"
default n
depends on XFS_FS
+ depends on TMPFS && SHMEM
help
If you say Y here you will be able to check metadata on a
mounted XFS filesystem. This feature is intended to reduce