]>
git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - include/linux/dax.h
6 #include <asm/pgtable.h>
8 ssize_t
dax_do_io(struct kiocb
*, struct inode
*, struct iov_iter
*,
9 get_block_t
, dio_iodone_t
, int flags
);
10 int dax_zero_page_range(struct inode
*, loff_t from
, unsigned len
, get_block_t
);
11 int dax_truncate_page(struct inode
*, loff_t from
, get_block_t
);
12 int dax_fault(struct vm_area_struct
*, struct vm_fault
*, get_block_t
);
13 int __dax_fault(struct vm_area_struct
*, struct vm_fault
*, get_block_t
);
16 struct page
*read_dax_sector(struct block_device
*bdev
, sector_t n
);
17 int __dax_zero_page_range(struct block_device
*bdev
, sector_t sector
,
18 unsigned int offset
, unsigned int length
);
20 static inline struct page
*read_dax_sector(struct block_device
*bdev
,
23 return ERR_PTR(-ENXIO
);
25 static inline int __dax_zero_page_range(struct block_device
*bdev
,
26 sector_t sector
, unsigned int offset
, unsigned int length
)
32 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
33 int dax_pmd_fault(struct vm_area_struct
*, unsigned long addr
, pmd_t
*,
34 unsigned int flags
, get_block_t
);
35 int __dax_pmd_fault(struct vm_area_struct
*, unsigned long addr
, pmd_t
*,
36 unsigned int flags
, get_block_t
);
38 static inline int dax_pmd_fault(struct vm_area_struct
*vma
, unsigned long addr
,
39 pmd_t
*pmd
, unsigned int flags
, get_block_t gb
)
41 return VM_FAULT_FALLBACK
;
43 #define __dax_pmd_fault dax_pmd_fault
45 int dax_pfn_mkwrite(struct vm_area_struct
*, struct vm_fault
*);
46 #define dax_mkwrite(vma, vmf, gb) dax_fault(vma, vmf, gb)
47 #define __dax_mkwrite(vma, vmf, gb) __dax_fault(vma, vmf, gb)
49 static inline bool vma_is_dax(struct vm_area_struct
*vma
)
51 return vma
->vm_file
&& IS_DAX(vma
->vm_file
->f_mapping
->host
);
54 static inline bool dax_mapping(struct address_space
*mapping
)
56 return mapping
->host
&& IS_DAX(mapping
->host
);
59 struct writeback_control
;
60 int dax_writeback_mapping_range(struct address_space
*mapping
,
61 struct block_device
*bdev
, struct writeback_control
*wbc
);