From: Darrick J. Wong Date: Tue, 3 Nov 2020 01:14:07 +0000 (-0800) Subject: xfs: only flush the unshared range in xfs_reflink_unshare X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=46afb0628b86347933b16ac966655f74eab65c8c;p=linux.git xfs: only flush the unshared range in xfs_reflink_unshare There's no reason to flush an entire file when we're unsharing part of a file. Therefore, only initiate writeback on the selected range. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R --- diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 16098dc42addb..6fa05fb78189b 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -1502,7 +1502,8 @@ xfs_reflink_unshare( &xfs_buffered_write_iomap_ops); if (error) goto out; - error = filemap_write_and_wait(inode->i_mapping); + + error = filemap_write_and_wait_range(inode->i_mapping, offset, len); if (error) goto out;