diff --git a/[refs] b/[refs] index 6e1d3b1ee90b..06537270e977 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a268cefebceeb2046dfdfa301f041c2468536852 +refs/heads/master: 0e1dfc66b6ec94984a4778132147a8aa36461d58 diff --git a/trunk/fs/buffer.c b/trunk/fs/buffer.c index 3660dcb97591..71649ef9b658 100644 --- a/trunk/fs/buffer.c +++ b/trunk/fs/buffer.c @@ -470,13 +470,18 @@ __find_get_block_slow(struct block_device *bdev, sector_t block) pass does the actual I/O. */ void invalidate_bdev(struct block_device *bdev, int destroy_dirty_buffers) { + struct address_space *mapping = bdev->bd_inode->i_mapping; + + if (mapping->nrpages == 0) + return; + invalidate_bh_lrus(); /* * FIXME: what about destroy_dirty_buffers? * We really want to use invalidate_inode_pages2() for * that, but not until that's cleaned up. */ - invalidate_inode_pages(bdev->bd_inode->i_mapping); + invalidate_inode_pages(mapping); } /*