@@ -1739,6 +1739,12 @@ static int blkdev_dax_pmd_fault(struct vm_area_struct *vma, unsigned long addr,
return __dax_pmd_fault(vma, addr, pmd, flags, blkdev_get_block, NULL);
}
+static int blkdev_dax_pud_fault(struct vm_area_struct *vma, unsigned long addr,
+ pud_t *pud, unsigned int flags)
+{
+ return __dax_pud_fault(vma, addr, pud, flags, blkdev_get_block, NULL);
+}
+
static void blkdev_vm_open(struct vm_area_struct *vma)
{
struct inode *bd_inode = bdev_file_inode(vma->vm_file);
@@ -1764,6 +1770,7 @@ static const struct vm_operations_struct blkdev_dax_vm_ops = {
.close = blkdev_vm_close,
.fault = blkdev_dax_fault,
.pmd_fault = blkdev_dax_pmd_fault,
+ .pud_fault = blkdev_dax_pud_fault,
.pfn_mkwrite = blkdev_dax_fault,
};