From 1827231d79d19f4f82e13de0c59b7b5a4dae35c5 Mon Sep 17 00:00:00 2001 From: Chris Mason Date: Tue, 3 Apr 2007 11:43:19 -0400 Subject: [PATCH] --- yaml --- r: 128326 b: refs/heads/master c: 9d64272cd3be2aae71f89f7ababbee90a7587b33 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/btrfs/disk-io.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 1364630e16d3..9e5160ac616f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2da566edd8ce32ae2952b863ee634bcc2e7d63c1 +refs/heads/master: 9d64272cd3be2aae71f89f7ababbee90a7587b33 diff --git a/trunk/fs/btrfs/disk-io.c b/trunk/fs/btrfs/disk-io.c index 39b117a57a54..055cd45e802e 100644 --- a/trunk/fs/btrfs/disk-io.c +++ b/trunk/fs/btrfs/disk-io.c @@ -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;