aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/dax.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-05-09 10:47:04 +0200
committerVishal Verma <vishal.l.verma@intel.com>2016-05-18 12:16:56 -0600
commit679c8bd3b29428e736eabb7fc66a978f312f0c86 (patch)
treecf8a07f8da720780335f995d6a8d2faf202d7875 /include/linux/dax.h
parentdax: use sb_issue_zerout instead of calling dax_clear_sectors (diff)
downloadlinux-dev-679c8bd3b29428e736eabb7fc66a978f312f0c86.tar.xz
linux-dev-679c8bd3b29428e736eabb7fc66a978f312f0c86.zip
dax: export a low-level __dax_zero_page_range helper
This allows XFS to perform zeroing using the iomap infrastructure and avoid buffer heads. Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christoph Hellwig <hch@lst.de> [vishal: fix conflicts with dax-error-handling] Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Diffstat (limited to 'include/linux/dax.h')
-rw-r--r--include/linux/dax.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/dax.h b/include/linux/dax.h
index 7f853ffaa987..90fbc99e5313 100644
--- a/include/linux/dax.h
+++ b/include/linux/dax.h
@@ -14,12 +14,19 @@ int __dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t);
#ifdef CONFIG_FS_DAX
struct page *read_dax_sector(struct block_device *bdev, sector_t n);
+int __dax_zero_page_range(struct block_device *bdev, sector_t sector,
+ unsigned int offset, unsigned int length);
#else
static inline struct page *read_dax_sector(struct block_device *bdev,
sector_t n)
{
return ERR_PTR(-ENXIO);
}
+static inline int __dax_zero_page_range(struct block_device *bdev,
+ sector_t sector, unsigned int offset, unsigned int length)
+{
+ return -ENXIO;
+}
#endif
#ifdef CONFIG_TRANSPARENT_HUGEPAGE