1
0
Fork 0

Btrfs: fix arithmetic error in clone ioctl

Fix an arithmetic error that was breaking extents cloned via the clone
ioctl starting in the second half of a file.

Signed-off-by: Sage Weil <sage@newdream.net>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
hifive-unleashed-5.1
Sage Weil 2009-09-21 16:00:27 -04:00 committed by Chris Mason
parent 76dda93c6a
commit 1fb58a6051
1 changed files with 1 additions and 2 deletions

View File

@ -1105,8 +1105,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
datao += off - key.offset;
datal -= off - key.offset;
}
if (key.offset + datao + datal + key.offset >
off + len)
if (key.offset + datao + datal > off + len)
datal = off + len - key.offset - datao;
/* disko == 0 means it's a hole */
if (!disko)