nfs: Replace kmap() with kmap_local_page()
The use of kmap() is being deprecated in favor of kmap_local_page(). With kmap_local_page(), the mapping is per thread, CPU local and not globally visible. Furthermore, the mapping can be acquired from any context (including interrupts). Therefore, use kmap_local_page() in nfs_do_filldir() because this mapping is per thread, CPU local, and not globally visible. Suggested-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
064109db53
commit
c77c738c37
@ -1084,7 +1084,7 @@ static void nfs_do_filldir(struct nfs_readdir_descriptor *desc,
|
||||
struct nfs_cache_array *array;
|
||||
unsigned int i;
|
||||
|
||||
array = kmap(desc->page);
|
||||
array = kmap_local_page(desc->page);
|
||||
for (i = desc->cache_entry_index; i < array->size; i++) {
|
||||
struct nfs_cache_array_entry *ent;
|
||||
|
||||
@ -1110,7 +1110,7 @@ static void nfs_do_filldir(struct nfs_readdir_descriptor *desc,
|
||||
if (array->page_is_eof)
|
||||
desc->eof = !desc->eob;
|
||||
|
||||
kunmap(desc->page);
|
||||
kunmap_local(array);
|
||||
dfprintk(DIRCACHE, "NFS: nfs_do_filldir() filling ended @ cookie %llu\n",
|
||||
(unsigned long long)desc->dir_cookie);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user