From a522c7f9f981b6d402a2297bfebaf9290d3bb698 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sun, 30 Oct 2005 15:03:15 -0800 Subject: [PATCH] --- yaml --- r: 11883 b: refs/heads/master c: a3e713b5fdd0e54c2e3c8909ccde2a98839e3a52 h: refs/heads/master i: 11881: 9a28067ade292f1c27a8d9127251283199560d09 11879: 14e67cf63ed954ccd05c2def012c2289e06c565b v: v3 --- [refs] | 2 +- trunk/fs/buffer.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 7c5c731c951c..a756560971b7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 727a53bd535fe3bde644ac346db27456ad964083 +refs/heads/master: a3e713b5fdd0e54c2e3c8909ccde2a98839e3a52 diff --git a/trunk/fs/buffer.c b/trunk/fs/buffer.c index 75cac9ada026..35fa34977e81 100644 --- a/trunk/fs/buffer.c +++ b/trunk/fs/buffer.c @@ -1478,8 +1478,10 @@ EXPORT_SYMBOL(__getblk); void __breadahead(struct block_device *bdev, sector_t block, int size) { struct buffer_head *bh = __getblk(bdev, block, size); - ll_rw_block(READA, 1, &bh); - brelse(bh); + if (likely(bh)) { + ll_rw_block(READA, 1, &bh); + brelse(bh); + } } EXPORT_SYMBOL(__breadahead); @@ -1497,7 +1499,7 @@ __bread(struct block_device *bdev, sector_t block, int size) { struct buffer_head *bh = __getblk(bdev, block, size); - if (!buffer_uptodate(bh)) + if (likely(bh) && !buffer_uptodate(bh)) bh = __bread_slow(bh); return bh; }