aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/dax.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/dax.c b/fs/dax.c
index 711172450da6..bbb2ad783770 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1056,6 +1056,7 @@ EXPORT_SYMBOL_GPL(dax_pmd_fault);
1056int dax_pfn_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) 1056int dax_pfn_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
1057{ 1057{
1058 struct file *file = vma->vm_file; 1058 struct file *file = vma->vm_file;
1059 int error;
1059 1060
1060 /* 1061 /*
1061 * We pass NO_SECTOR to dax_radix_entry() because we expect that a 1062 * We pass NO_SECTOR to dax_radix_entry() because we expect that a
@@ -1065,7 +1066,13 @@ int dax_pfn_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
1065 * saves us from having to make a call to get_block() here to look 1066 * saves us from having to make a call to get_block() here to look
1066 * up the sector. 1067 * up the sector.
1067 */ 1068 */
1068 dax_radix_entry(file->f_mapping, vmf->pgoff, NO_SECTOR, false, true); 1069 error = dax_radix_entry(file->f_mapping, vmf->pgoff, NO_SECTOR, false,
1070 true);
1071
1072 if (error == -ENOMEM)
1073 return VM_FAULT_OOM;
1074 if (error)
1075 return VM_FAULT_SIGBUS;
1069 return VM_FAULT_NOPAGE; 1076 return VM_FAULT_NOPAGE;
1070} 1077}
1071EXPORT_SYMBOL_GPL(dax_pfn_mkwrite); 1078EXPORT_SYMBOL_GPL(dax_pfn_mkwrite);