diff options
author | Sage Weil <sage@newdream.net> | 2010-10-29 15:37:33 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-10-29 15:37:33 -0400 |
commit | 050006a753bab8ba05f2113cc57ba49398cd5521 (patch) | |
tree | 43b8bdc0ce9f76d2726096dbfbc72a04c141afa6 /fs/btrfs/ioctl.c | |
parent | 9a019196ecaa57780141ef5d1f0bb31050d6ed5b (diff) | |
download | linux-3.10-050006a753bab8ba05f2113cc57ba49398cd5521.tar.gz linux-3.10-050006a753bab8ba05f2113cc57ba49398cd5521.tar.bz2 linux-3.10-050006a753bab8ba05f2113cc57ba49398cd5521.zip |
Btrfs: fix clone ioctl where range is adjacent to extent
We had an edge case issue where the requested range was just
following an existing extent. Instead of skipping to the next
extent, we used the previous one which lead to having zero
sized extents.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r-- | fs/btrfs/ioctl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index d94bef5179f..3fe15e435b5 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -1597,7 +1597,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd, } btrfs_release_path(root, path); - if (key.offset + datal < off || + if (key.offset + datal <= off || key.offset >= off+len) goto next; |