Btrfs: Properly release lock in pin_down_bytes
When buffer isn't uptodate, pin_down_bytes may leave the tree locked after it returns. Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
45467261ed
commit
974e35a82d
1 changed files with 2 additions and 2 deletions
|
@ -1485,8 +1485,8 @@ static int pin_down_bytes(struct btrfs_root *root, u64 bytenr, u32 num_bytes,
|
||||||
struct extent_buffer *buf;
|
struct extent_buffer *buf;
|
||||||
buf = btrfs_find_tree_block(root, bytenr, num_bytes);
|
buf = btrfs_find_tree_block(root, bytenr, num_bytes);
|
||||||
if (buf) {
|
if (buf) {
|
||||||
if (btrfs_try_tree_lock(buf) &&
|
if (btrfs_buffer_uptodate(buf, 0) &&
|
||||||
btrfs_buffer_uptodate(buf, 0)) {
|
btrfs_try_tree_lock(buf)) {
|
||||||
u64 transid =
|
u64 transid =
|
||||||
root->fs_info->running_transaction->transid;
|
root->fs_info->running_transaction->transid;
|
||||||
u64 header_transid =
|
u64 header_transid =
|
||||||
|
|
Loading…
Add table
Reference in a new issue