diff options
author | Jakub Kicinski <kuba@kernel.org> | 2024-12-05 22:48:58 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-12-19 22:35:07 +0300 |
commit | 07e5c4eb94e6aba96fa11b424b39c5e5576a7713 (patch) | |
tree | ab7c48de9389e6e3c30586630b19ead62ae43637 /fs/xfs/xfs_file.c | |
parent | 6b3099ebca13ecc5d0e7d07b438672addbd65da6 (diff) | |
parent | 8faabc041a001140564f718dabe37753e88b37fa (diff) | |
download | linux-07e5c4eb94e6aba96fa11b424b39c5e5576a7713.tar.xz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-6.13-rc4).
No conflicts.
Adjacent changes:
drivers/net/ethernet/renesas/rswitch.h
32fd46f5b69e ("net: renesas: rswitch: remove speed from gwca structure")
922b4b955a03 ("net: renesas: rswitch: rework ts tags management")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'fs/xfs/xfs_file.c')
-rw-r--r-- | fs/xfs/xfs_file.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 4a0b7de4f7ae..9a435b1ff264 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -1242,6 +1242,14 @@ out_unlock: xfs_iunlock2_remapping(src, dest); if (ret) trace_xfs_reflink_remap_range_error(dest, ret, _RET_IP_); + /* + * If the caller did not set CAN_SHORTEN, then it is not prepared to + * handle partial results -- either the whole remap succeeds, or we + * must say why it did not. In this case, any error should be returned + * to the caller. + */ + if (ret && remapped < len && !(remap_flags & REMAP_FILE_CAN_SHORTEN)) + return ret; return remapped > 0 ? remapped : ret; } |