aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-09-18 21:24:49 -0400
committerDave Chinner <david@fromorbit.com>2016-09-18 21:24:49 -0400
commitb0d5e82fcf8249b5aca52d235c1cfabd68b253e8 (patch)
tree2339be43d048f78c3aac15fbf1b3bd823f3d73b6
parent1aaba0958ed371bd121751d74d98f2a76395edad (diff)
dax: don't pass buffer_head to copy_user_dax
This way we can use this helper for the iomap based DAX implementation as well. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
-rw-r--r--fs/dax.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/dax.c b/fs/dax.c
index 98463bb9827c..84343ce8be70 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -580,14 +580,13 @@ static int dax_load_hole(struct address_space *mapping, void *entry,
580 return VM_FAULT_LOCKED; 580 return VM_FAULT_LOCKED;
581} 581}
582 582
583static int copy_user_bh(struct page *to, struct inode *inode, 583static int copy_user_dax(struct block_device *bdev, sector_t sector, size_t size,
584 struct buffer_head *bh, unsigned long vaddr) 584 struct page *to, unsigned long vaddr)
585{ 585{
586 struct blk_dax_ctl dax = { 586 struct blk_dax_ctl dax = {
587 .sector = to_sector(bh, inode), 587 .sector = sector,
588 .size = bh->b_size, 588 .size = size,
589 }; 589 };
590 struct block_device *bdev = bh->b_bdev;
591 void *vto; 590 void *vto;
592 591
593 if (dax_map_atomic(bdev, &dax) < 0) 592 if (dax_map_atomic(bdev, &dax) < 0)
@@ -867,7 +866,8 @@ int dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf,
867 if (vmf->cow_page) { 866 if (vmf->cow_page) {
868 struct page *new_page = vmf->cow_page; 867 struct page *new_page = vmf->cow_page;
869 if (buffer_written(&bh)) 868 if (buffer_written(&bh))
870 error = copy_user_bh(new_page, inode, &bh, vaddr); 869 error = copy_user_dax(bh.b_bdev, to_sector(&bh, inode),
870 bh.b_size, new_page, vaddr);
871 else 871 else
872 clear_user_highpage(new_page, vaddr); 872 clear_user_highpage(new_page, vaddr);
873 if (error) 873 if (error)