|
@@ -439,10 +439,20 @@ static int dev_dax_split(struct vm_area_struct *vma, unsigned long addr)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static unsigned long dev_dax_pagesize(struct vm_area_struct *vma)
|
|
|
+{
|
|
|
+ struct file *filp = vma->vm_file;
|
|
|
+ struct dev_dax *dev_dax = filp->private_data;
|
|
|
+ struct dax_region *dax_region = dev_dax->region;
|
|
|
+
|
|
|
+ return dax_region->align;
|
|
|
+}
|
|
|
+
|
|
|
static const struct vm_operations_struct dax_vm_ops = {
|
|
|
.fault = dev_dax_fault,
|
|
|
.huge_fault = dev_dax_huge_fault,
|
|
|
.split = dev_dax_split,
|
|
|
+ .pagesize = dev_dax_pagesize,
|
|
|
};
|
|
|
|
|
|
static int dax_mmap(struct file *filp, struct vm_area_struct *vma)
|