]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
fs/dax: remove FS_DAX_LIMITED config option
authorAlistair Popple <apopple@nvidia.com>
Thu, 19 Jun 2025 08:58:02 +0000 (18:58 +1000)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 10 Jul 2025 05:42:18 +0000 (22:42 -0700)
The dcssblk driver was the last user of FS_DAX_LIMITED.  That was marked
broken by 653d7825c149 ("dcssblk: mark DAX broken, remove FS_DAX_LIMITED
support") to allow removal of PFN_SPECIAL.  However the FS_DAX_LIMITED
config option itself was not removed, so do that now.

Link: https://lkml.kernel.org/r/b47bf164b4a1013d736fa1a3d501bc8b8e71311f.1750323463.git-series.apopple@nvidia.com
Signed-off-by: Alistair Popple <apopple@nvidia.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Balbir Singh <balbirs@nvidia.com>
Cc: Björn Töpel <bjorn@kernel.org>
Cc: Björn Töpel <bjorn@rivosinc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Deepak Gupta <debug@rivosinc.com>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Inki Dae <m.szyprowski@samsung.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: John Groves <john@groves.net>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/Kconfig
fs/dax.c
mm/memremap.c

index 44b6cdd36dc168409ee4b76187140aeb21f60c33..ccdf371a62ed91caa63d2fa51d34f108192c9223 100644 (file)
@@ -59,7 +59,7 @@ endif # BLOCK
 config FS_DAX
        bool "File system based Direct Access (DAX) support"
        depends on MMU
-       depends on ZONE_DEVICE || FS_DAX_LIMITED
+       depends on ZONE_DEVICE
        select FS_IOMAP
        select DAX
        help
@@ -95,13 +95,6 @@ config FS_DAX_PMD
        depends on ZONE_DEVICE
        depends on TRANSPARENT_HUGEPAGE
 
-# Selected by DAX drivers that do not expect filesystem DAX to support
-# get_user_pages() of DAX mappings. I.e. "limited" indicates no support
-# for fork() of processes with MAP_SHARED mappings or support for
-# direct-I/O to a DAX mapping.
-config FS_DAX_LIMITED
-       bool
-
 # Posix ACL utility routines
 #
 # Note: Posix ACLs can be implemented without these helpers.  Never use
index 7d4ecb9d23af3deb3cfe82705f4460c9d88dde60..f4ffb698227060f09d04e390e6fed65026ef458a 100644 (file)
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -449,9 +449,6 @@ static void dax_associate_entry(void *entry, struct address_space *mapping,
        if (dax_is_zero_entry(entry) || dax_is_empty_entry(entry))
                return;
 
-       if (IS_ENABLED(CONFIG_FS_DAX_LIMITED))
-               return;
-
        index = linear_page_index(vma, address & ~(size - 1));
        if (shared && (folio->mapping || dax_folio_is_shared(folio))) {
                if (folio->mapping)
@@ -474,9 +471,6 @@ static void dax_disassociate_entry(void *entry, struct address_space *mapping,
 {
        struct folio *folio = dax_to_folio(entry);
 
-       if (IS_ENABLED(CONFIG_FS_DAX_LIMITED))
-               return;
-
        if (dax_is_zero_entry(entry) || dax_is_empty_entry(entry))
                return;
 
@@ -768,12 +762,6 @@ struct page *dax_layout_busy_page_range(struct address_space *mapping,
        pgoff_t end_idx;
        XA_STATE(xas, &mapping->i_pages, start_idx);
 
-       /*
-        * In the 'limited' case get_user_pages() for dax is disabled.
-        */
-       if (IS_ENABLED(CONFIG_FS_DAX_LIMITED))
-               return NULL;
-
        if (!dax_mapping(mapping))
                return NULL;
 
index c417c843e9b1f44eee7c997ab2dade66099cf5b9..c17e0a69caceededc723797d29ce6ce0e2323ecc 100644 (file)
@@ -332,10 +332,6 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid)
                }
                break;
        case MEMORY_DEVICE_FS_DAX:
-               if (IS_ENABLED(CONFIG_FS_DAX_LIMITED)) {
-                       WARN(1, "File system DAX not supported\n");
-                       return ERR_PTR(-EINVAL);
-               }
                params.pgprot = pgprot_decrypted(params.pgprot);
                break;
        case MEMORY_DEVICE_GENERIC: