diff options
author | Filipe Manana <fdmanana@suse.com> | 2015-12-31 19:16:29 +0100 |
---|---|---|
committer | Filipe Manana <fdmanana@suse.com> | 2015-12-31 19:18:40 +0100 |
commit | 9269d12b2d57d9e3d13036bb750762d1110d425c (patch) | |
tree | 5fe57a6dab211c2aa0f98066a3f9076c9304b175 /fs | |
parent | Btrfs: don't leave dangling dentry if symlink creation failed (diff) | |
download | linux-9269d12b2d57d9e3d13036bb750762d1110d425c.tar.xz linux-9269d12b2d57d9e3d13036bb750762d1110d425c.zip |
Btrfs: fix number of transaction units required to create symlink
We weren't accounting for the insertion of an inline extent item for the
symlink inode nor that we need to update the parent inode item (through
the call to btrfs_add_nondir()). So fix this by including two more
transaction units.
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/inode.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 2ea2e0edc956..5dbc07a7c220 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -9660,9 +9660,11 @@ static int btrfs_symlink(struct inode *dir, struct dentry *dentry, /* * 2 items for inode item and ref * 2 items for dir items + * 1 item for updating parent inode item + * 1 item for the inline extent item * 1 item for xattr if selinux is on */ - trans = btrfs_start_transaction(root, 5); + trans = btrfs_start_transaction(root, 7); if (IS_ERR(trans)) return PTR_ERR(trans); |