mm/hugetlb: have CONFIG_HUGETLB_PAGE select CONFIG_XARRAY_MULTI

Message ID 20231204183234.348697-1-sidhartha.kumar@oracle.com
State New
Headers
Series mm/hugetlb: have CONFIG_HUGETLB_PAGE select CONFIG_XARRAY_MULTI |

Commit Message

Sidhartha Kumar Dec. 4, 2023, 6:32 p.m. UTC
  After commit a08c7193e4f1 "mm/filemap: remove hugetlb special casing in
filemap.c", hugetlb pages are stored in the page cache in base page sized
indexes. This leads to mutli index stores in the xarray which is only
supporting through CONFIG_XARRAY_MULTI. The other page cache user of
multi index stores ,THP, selects XARRAY_MULTI. Have CONFIG_HUGETLB_PAGE
follow this behavior as well to avoid the BUG() with a CONFIG_HUGETLB_PAGE
&& !CONFIG_XARRAY_MULTI config.

Fixes:a08c7193e4f1 ("mm/filemap: remove hugetlb special casing in filemap.c")
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
---
 fs/Kconfig | 1 +
 1 file changed, 1 insertion(+)
  

Patch

diff --git a/fs/Kconfig b/fs/Kconfig
index 0b404e61c80b..cf62d86b514f 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -279,6 +279,7 @@  endif # HUGETLBFS
 
 config HUGETLB_PAGE
 	def_bool HUGETLBFS
+	select XARRAY_MULTI
 
 config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
 	def_bool HUGETLB_PAGE