Btrfs: don't wait on uptodate buffers on read
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
2da566edd8
commit
9d64272cd3
|
@ -214,6 +214,8 @@ struct buffer_head *read_tree_block(struct btrfs_root *root, u64 blocknr)
|
|||
bh = btrfs_find_create_tree_block(root, blocknr);
|
||||
if (!bh)
|
||||
return bh;
|
||||
if (buffer_uptodate(bh))
|
||||
goto uptodate;
|
||||
lock_buffer(bh);
|
||||
if (!buffer_uptodate(bh)) {
|
||||
get_bh(bh);
|
||||
|
@ -226,6 +228,7 @@ struct buffer_head *read_tree_block(struct btrfs_root *root, u64 blocknr)
|
|||
} else {
|
||||
unlock_buffer(bh);
|
||||
}
|
||||
uptodate:
|
||||
if (check_tree_block(root, bh))
|
||||
BUG();
|
||||
return bh;
|
||||
|
|
Loading…
Reference in a new issue