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 | |
parent | 9a019196ecaa57780141ef5d1f0bb31050d6ed5b (diff) | |
download | kernel_samsung_espresso10-050006a753bab8ba05f2113cc57ba49398cd5521.zip kernel_samsung_espresso10-050006a753bab8ba05f2113cc57ba49398cd5521.tar.gz kernel_samsung_espresso10-050006a753bab8ba05f2113cc57ba49398cd5521.tar.bz2 |
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')
-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 d94bef5..3fe15e4 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; |