[PATCH 15/15] xfs: Use filemap_huge_fault

From: Matthew Wilcox
Date: Tue Sep 24 2019 - 20:52:42 EST


From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>

Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
---
fs/xfs/xfs_file.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
index d952d5962e93..9445196f8056 100644
--- a/fs/xfs/xfs_file.c
+++ b/fs/xfs/xfs_file.c
@@ -1156,6 +1156,8 @@ __xfs_filemap_fault(
} else {
if (write_fault)
ret = iomap_page_mkwrite(vmf, &xfs_iomap_ops);
+ else if (pe_size)
+ ret = filemap_huge_fault(vmf, pe_size);
else
ret = filemap_fault(vmf);
}
@@ -1181,9 +1183,6 @@ xfs_filemap_huge_fault(
struct vm_fault *vmf,
enum page_entry_size pe_size)
{
- if (!IS_DAX(file_inode(vmf->vma->vm_file)))
- return VM_FAULT_FALLBACK;
-
/* DAX can shortcut the normal fault path on write faults! */
return __xfs_filemap_fault(vmf, pe_size,
(vmf->flags & FAULT_FLAG_WRITE));
--
2.23.0