summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChris Mason <clm@fb.com>2014-04-07 07:10:40 -0700
committerChris Mason <clm@fb.com>2014-04-07 09:08:50 -0700
commit3a29bc0928003674f45b4fe625b4d0738a22c60d (patch)
tree9be59ad2a1bf07c20e4ebaeea90e43ce455a039f /fs
parenta1ecaabbf90cf4e93eb2b50aef3d07ab630c6fb1 (diff)
downloadlinux-3a29bc0928003674f45b4fe625b4d0738a22c60d.tar.gz
linux-3a29bc0928003674f45b4fe625b4d0738a22c60d.tar.bz2
linux-3a29bc0928003674f45b4fe625b4d0738a22c60d.zip
Btrfs: fix EINVAL checks in btrfs_clone
btrfs_drop_extents can now return -EINVAL, but only one caller in btrfs_clone was checking for it. This adds it to the caller for inline extents, which is where we really need it. Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/ioctl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 05f8df866e4c..89d5db7eb452 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -3163,8 +3163,9 @@ process_slot:
new_key.offset + datal,
1);
if (ret) {
- btrfs_abort_transaction(trans, root,
- ret);
+ if (ret != -EINVAL)
+ btrfs_abort_transaction(trans,
+ root, ret);
btrfs_end_transaction(trans, root);
goto out;
}