Btrfs: fix CLONE ioctl destination file size expansion to block boundary
authorSage Weil <sage@newdream.net>
Sat, 12 Jun 2010 22:31:14 +0000 (22:31 +0000)
committerChris Mason <chris.mason@oracle.com>
Mon, 19 Jul 2010 20:15:06 +0000 (16:15 -0400)
commitb5384d48f4e74edec3ca1887cb65e378a72af9a1
treecf41ab7d6a2c2606abe465c8229f002675696de0
parent99d8f83c98930100cd70437b0c81a935e7a14b0b
Btrfs: fix CLONE ioctl destination file size expansion to block boundary

The CLONE and CLONE_RANGE ioctls round up the range of extents being
cloned to the block size when the range to clone extends to the end of file
(this is always the case with CLONE).  It was then using that offset when
extending the destination file's i_size.  Fix this by not setting i_size
beyond the originally requested ending offset.

This bug was introduced by a22285a6 (2.6.35-rc1).

Signed-off-by: Sage Weil <sage@newdream.net>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/ioctl.c