]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/ext4/file.c
mm: replace FAULT_FLAG_SIZE with parameter to huge_fault
[karo-tx-linux.git] / fs / ext4 / file.c
index 502d2d07d19116cbf5283d5b591187778c5f8707..8210c1f43556f4358e9b602a93d158e5c0780c44 100644 (file)
@@ -253,7 +253,8 @@ out:
 }
 
 #ifdef CONFIG_FS_DAX
-static int ext4_dax_fault(struct vm_fault *vmf)
+static int ext4_dax_huge_fault(struct vm_fault *vmf,
+               enum page_entry_size pe_size)
 {
        int result;
        struct inode *inode = file_inode(vmf->vma->vm_file);
@@ -265,7 +266,7 @@ static int ext4_dax_fault(struct vm_fault *vmf)
                file_update_time(vmf->vma->vm_file);
        }
        down_read(&EXT4_I(inode)->i_mmap_sem);
-       result = dax_iomap_fault(vmf, &ext4_iomap_ops);
+       result = dax_iomap_fault(vmf, pe_size, &ext4_iomap_ops);
        up_read(&EXT4_I(inode)->i_mmap_sem);
        if (write)
                sb_end_pagefault(sb);
@@ -273,6 +274,11 @@ static int ext4_dax_fault(struct vm_fault *vmf)
        return result;
 }
 
+static int ext4_dax_fault(struct vm_fault *vmf)
+{
+       return ext4_dax_huge_fault(vmf, PE_SIZE_PTE);
+}
+
 /*
  * Handle write fault for VM_MIXEDMAP mappings. Similarly to ext4_dax_fault()
  * handler we check for races agaist truncate. Note that since we cycle through
@@ -305,7 +311,7 @@ static int ext4_dax_pfn_mkwrite(struct vm_fault *vmf)
 
 static const struct vm_operations_struct ext4_dax_vm_ops = {
        .fault          = ext4_dax_fault,
-       .huge_fault     = ext4_dax_fault,
+       .huge_fault     = ext4_dax_huge_fault,
        .page_mkwrite   = ext4_dax_fault,
        .pfn_mkwrite    = ext4_dax_pfn_mkwrite,
 };