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.

Signed-off-by: Alistair Popple <apop...@nvidia.com>

---

Changes since v1:

 - New for v2.
---
 fs/Kconfig    |  9 +--------
 fs/dax.c      | 12 ------------
 mm/memremap.c |  4 ----
 3 files changed, 1 insertion(+), 24 deletions(-)

diff --git a/fs/Kconfig b/fs/Kconfig
index 44b6cdd..ccdf371 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -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
diff --git a/fs/dax.c b/fs/dax.c
index 7d4ecb9..f4ffb69 100644
--- 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;
 
diff --git a/mm/memremap.c b/mm/memremap.c
index c417c84..c17e0a6 100644
--- a/mm/memremap.c
+++ b/mm/memremap.c
@@ -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:
-- 
git-series 0.9.1

Reply via email to