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>
This commit is contained in:
parent
76dda93c6a
commit
1fb58a6051
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue