diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-20 14:22:55 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-09-20 14:22:55 -0700 |
commit | 43a964a7bfd15a2ed9e801c18dd327565edb4e62 (patch) | |
tree | 59d7e93ad2d0ca89acd95937cbe2ad96cc3786e9 /fs | |
parent | 80976804f501303a34a76e925119393722596dca (diff) | |
parent | 0a7a0519d1789f3a222849421dbe91b6bddb88f5 (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.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index d11fd28efa6..538f65a79ec 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, else new_key.offset = destoff; - trans = btrfs_start_transaction(root, 1); + /* + * 1 - adjusting old extent (we may have to split it) + * 1 - add new extent + * 1 - inode update + */ + trans = btrfs_start_transaction(root, 3); if (IS_ERR(trans)) { ret = PTR_ERR(trans); goto out; |