Commit a45a7db9 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'vfs-6.2-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull vfs remap_range update from Darrick Wong:

 - Make some minor adjustments to the remap range preparation function
   to skip file updates when the request length is adjusted downwards to
   zero.

* tag 'vfs-6.2-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  fs/remap_range: avoid spurious writeback on zero length request
parents 02bf43c7 a79168a0
...@@ -304,7 +304,7 @@ __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in, ...@@ -304,7 +304,7 @@ __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in,
/* Check that we don't violate system file offset limits. */ /* Check that we don't violate system file offset limits. */
ret = generic_remap_checks(file_in, pos_in, file_out, pos_out, len, ret = generic_remap_checks(file_in, pos_in, file_out, pos_out, len,
remap_flags); remap_flags);
if (ret) if (ret || *len == 0)
return ret; return ret;
/* Wait for the completion of any pending IOs on both files */ /* Wait for the completion of any pending IOs on both files */
...@@ -328,9 +328,6 @@ __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in, ...@@ -328,9 +328,6 @@ __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in,
if (remap_flags & REMAP_FILE_DEDUP) { if (remap_flags & REMAP_FILE_DEDUP) {
bool is_same = false; bool is_same = false;
if (*len == 0)
return 0;
if (!IS_DAX(inode_in)) if (!IS_DAX(inode_in))
ret = vfs_dedupe_file_range_compare(file_in, pos_in, ret = vfs_dedupe_file_range_compare(file_in, pos_in,
file_out, pos_out, *len, &is_same); file_out, pos_out, *len, &is_same);
...@@ -348,7 +345,7 @@ __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in, ...@@ -348,7 +345,7 @@ __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in,
ret = generic_remap_check_len(inode_in, inode_out, pos_out, len, ret = generic_remap_check_len(inode_in, inode_out, pos_out, len,
remap_flags); remap_flags);
if (ret) if (ret || *len == 0)
return ret; return ret;
/* If can't alter the file contents, we're done. */ /* If can't alter the file contents, we're done. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment