OSDN Git Service

NFS: Replace kmap() with kmap_atomic() in nfs_readdir_search_array()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sun, 1 Nov 2020 18:34:32 +0000 (13:34 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Wed, 2 Dec 2020 19:05:51 +0000 (14:05 -0500)
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Tested-by: Benjamin Coddington <bcodding@redhat.com>
Tested-by: Dave Wysochanski <dwysocha@redhat.com>
fs/nfs/dir.c

index e8b0fcc..b900112 100644 (file)
@@ -447,7 +447,7 @@ int nfs_readdir_search_array(nfs_readdir_descriptor_t *desc)
        struct nfs_cache_array *array;
        int status;
 
-       array = kmap(desc->page);
+       array = kmap_atomic(desc->page);
 
        if (desc->dir_cookie == 0)
                status = nfs_readdir_search_for_pos(array, desc);
@@ -459,7 +459,7 @@ int nfs_readdir_search_array(nfs_readdir_descriptor_t *desc)
                desc->current_index += array->size;
                desc->page_index++;
        }
-       kunmap(desc->page);
+       kunmap_atomic(array);
        return status;
 }