|
@@ -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;
|
|
|
}
|