aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/ioctl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index e8795becad4c..cdbb054102b9 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1123,8 +1123,10 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
1123 datao += off - key.offset; 1123 datao += off - key.offset;
1124 datal -= off - key.offset; 1124 datal -= off - key.offset;
1125 } 1125 }
1126 if (key.offset + datao + datal > off + len) 1126
1127 datal = off + len - key.offset - datao; 1127 if (key.offset + datal > off + len)
1128 datal = off + len - key.offset;
1129
1128 /* disko == 0 means it's a hole */ 1130 /* disko == 0 means it's a hole */
1129 if (!disko) 1131 if (!disko)
1130 datao = 0; 1132 datao = 0;