Skip to content

Commit

Permalink
Btrfs: Fix buffer get/release issue in create_snapshot
Browse files Browse the repository at this point in the history
btrfs_cow_block expects a reference to be held on the buffer being cow'd.

Signed-off-by: Chris Mason <[email protected]>
  • Loading branch information
ukernel authored and chrismason-xx committed Sep 25, 2008
1 parent 1a2b2ac commit 9691975
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions fs/btrfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -2034,11 +2034,11 @@ static int create_snapshot(struct btrfs_root *root, char *name, int namelen)
key.objectid = objectid;
key.offset = 1;
btrfs_set_key_type(&key, BTRFS_ROOT_ITEM_KEY);

extent_buffer_get(root->node);
btrfs_cow_block(trans, root, root->node, NULL, 0, &tmp);
free_extent_buffer(tmp);
btrfs_set_root_bytenr(&new_root_item, root->node->start);
btrfs_set_root_level(&new_root_item, btrfs_header_level(root->node));

ret = btrfs_insert_root(trans, root->fs_info->tree_root, &key,
&new_root_item);
if (ret)
Expand Down

0 comments on commit 9691975

Please sign in to comment.