aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-09-20 17:22:55 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-09-20 17:22:55 -0400
commit43a964a7bfd15a2ed9e801c18dd327565edb4e62 (patch)
tree59d7e93ad2d0ca89acd95937cbe2ad96cc3786e9 /fs
parent80976804f501303a34a76e925119393722596dca (diff)
parent0a7a0519d1789f3a222849421dbe91b6bddb88f5 (diff)
Merge branch 'for-linus' of git://github.com/chrismason/linux
* 'for-linus' of git://github.com/chrismason/linux: Btrfs: reserve sufficient space for ioctl clone
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/ioctl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index d11fd28efa6a..538f65a79ec5 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -2328,7 +2328,12 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
2328 else 2328 else
2329 new_key.offset = destoff; 2329 new_key.offset = destoff;
2330 2330
2331 trans = btrfs_start_transaction(root, 1); 2331 /*
2332 * 1 - adjusting old extent (we may have to split it)
2333 * 1 - add new extent
2334 * 1 - inode update
2335 */
2336 trans = btrfs_start_transaction(root, 3);
2332 if (IS_ERR(trans)) { 2337 if (IS_ERR(trans)) {
2333 ret = PTR_ERR(trans); 2338 ret = PTR_ERR(trans);
2334 goto out; 2339 goto out;