aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2021-04-28 22:41:39 -0700
committerDarrick J. Wong <djwong@kernel.org>2021-04-29 07:45:44 -0700
commitd4f74e162d238ce00a640af5f0611c3f51dad70e (patch)
tree58cf13fd2f1879bf8292965b9d66500989e80dfa /fs
parentxfs: set aside allocation btree blocks from block reservation (diff)
downloadlinux-dev-d4f74e162d238ce00a640af5f0611c3f51dad70e.tar.xz
linux-dev-d4f74e162d238ce00a640af5f0611c3f51dad70e.zip
xfs: fix xfs_reflink_unshare usage of filemap_write_and_wait_range
The final parameter of filemap_write_and_wait_range is the end of the range to flush, not the length of the range to flush. Fixes: 46afb0628b86 ("xfs: only flush the unshared range in xfs_reflink_unshare") Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> Reviewed-by: Brian Foster <bfoster@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/xfs_reflink.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c
index 4dd4af6ac2ef..060695d6d56a 100644
--- a/fs/xfs/xfs_reflink.c
+++ b/fs/xfs/xfs_reflink.c
@@ -1522,7 +1522,8 @@ xfs_reflink_unshare(
if (error)
goto out;
- error = filemap_write_and_wait_range(inode->i_mapping, offset, len);
+ error = filemap_write_and_wait_range(inode->i_mapping, offset,
+ offset + len - 1);
if (error)
goto out;