projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1a2b2ac
)
Btrfs: Fix buffer get/release issue in create_snapshot
author
Yan
<yanzheng@21cn.com>
Tue, 4 Dec 2007 18:20:20 +0000
(13:20 -0500)
committer
Chris Mason
<chris.mason@oracle.com>
Thu, 25 Sep 2008 15:03:58 +0000
(11:03 -0400)
btrfs_cow_block expects a reference to be held on the buffer being cow'd.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/inode.c
patch
|
blob
|
blame
|
history
diff --git
a/fs/btrfs/inode.c
b/fs/btrfs/inode.c
index 37f8e0321af88e2760d2d6d21c33f01728dab64c..d0af0807d9f84163d04d0b5c5189b2b1872e0805 100644
(file)
--- a/
fs/btrfs/inode.c
+++ b/
fs/btrfs/inode.c
@@
-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)