diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-13 19:00:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-13 19:00:49 -0400 |
commit | 0e5b88cd9975dca6c191cc9bd11f233fac4ca882 (patch) | |
tree | 6302317acfb24d6b5ad7924aceaa0dd1c4a7a371 /fs/btrfs/inode.c | |
parent | eebea5d13d391981061d6ef069a841002eba4a7a (diff) | |
parent | 36e39c40b3facc9b489a13f1d301fc53ff6960a3 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
Btrfs: break out of shrink_delalloc earlier
btrfs: fix not enough reserved space
btrfs: fix dip leak
Btrfs: make sure not to return overlapping extents to fiemap
Btrfs: deal with short returns from copy_from_user
Btrfs: fix regressions in copy_from_user handling
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 0efdb65953c5..9007bbd01dbf 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -4821,10 +4821,11 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir, | |||
4821 | goto fail; | 4821 | goto fail; |
4822 | 4822 | ||
4823 | /* | 4823 | /* |
4824 | * 1 item for inode ref | 4824 | * 2 items for inode and inode ref |
4825 | * 2 items for dir items | 4825 | * 2 items for dir items |
4826 | * 1 item for parent inode | ||
4826 | */ | 4827 | */ |
4827 | trans = btrfs_start_transaction(root, 3); | 4828 | trans = btrfs_start_transaction(root, 5); |
4828 | if (IS_ERR(trans)) { | 4829 | if (IS_ERR(trans)) { |
4829 | err = PTR_ERR(trans); | 4830 | err = PTR_ERR(trans); |
4830 | goto fail; | 4831 | goto fail; |
@@ -6056,6 +6057,7 @@ static void btrfs_submit_direct(int rw, struct bio *bio, struct inode *inode, | |||
6056 | if (!skip_sum) { | 6057 | if (!skip_sum) { |
6057 | dip->csums = kmalloc(sizeof(u32) * bio->bi_vcnt, GFP_NOFS); | 6058 | dip->csums = kmalloc(sizeof(u32) * bio->bi_vcnt, GFP_NOFS); |
6058 | if (!dip->csums) { | 6059 | if (!dip->csums) { |
6060 | kfree(dip); | ||
6059 | ret = -ENOMEM; | 6061 | ret = -ENOMEM; |
6060 | goto free_ordered; | 6062 | goto free_ordered; |
6061 | } | 6063 | } |