summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_file.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-06-21 01:56:26 +0200
committerDave Chinner <david@fromorbit.com>2016-06-21 01:56:26 +0200
commit7bb41db3ea160ea55cc46af07e45f7cb1e2968ba (patch)
tree8e3879d8be2d25ff3d70246d0ae866d46f2ccd08 /fs/xfs/xfs_file.c
parentxfs: use iomap infrastructure for DAX zeroing (diff)
downloadlinux-7bb41db3ea160ea55cc46af07e45f7cb1e2968ba.tar.xz
linux-7bb41db3ea160ea55cc46af07e45f7cb1e2968ba.zip
xfs: handle 64-bit length in xfs_iozero
We'll want to use this code for large offsets now that we're skipping holes and unwritten extents efficiently. Also rename it to xfs_zero_range to be a bit more descriptive, and tell the caller if we actually did any zeroing. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_file.c')
-rw-r--r--fs/xfs/xfs_file.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
index 090a90f0d02c..294e5f423028 100644
--- a/fs/xfs/xfs_file.c
+++ b/fs/xfs/xfs_file.c
@@ -85,10 +85,11 @@ xfs_rw_ilock_demote(
* Holes and unwritten extents will be left as-is as they already are zeroed.
*/
int
-xfs_iozero(
+xfs_zero_range(
struct xfs_inode *ip,
- loff_t pos,
- size_t count)
+ xfs_off_t pos,
+ xfs_off_t count,
+ bool *did_zero)
{
return iomap_zero_range(VFS_I(ip), pos, count, NULL, &xfs_iomap_ops);
}
@@ -419,7 +420,7 @@ xfs_zero_last_block(
if (isize + zero_len > offset)
zero_len = offset - isize;
*did_zeroing = true;
- return xfs_iozero(ip, isize, zero_len);
+ return xfs_zero_range(ip, isize, zero_len, NULL);
}
/*
@@ -518,7 +519,7 @@ xfs_zero_eof(
if ((zero_off + zero_len) > offset)
zero_len = offset - zero_off;
- error = xfs_iozero(ip, zero_off, zero_len);
+ error = xfs_zero_range(ip, zero_off, zero_len, NULL);
if (error)
return error;