diff options
author | 2006-09-05 17:20:21 -0400 | |
---|---|---|
committer | 2006-09-05 17:20:21 -0400 | |
commit | 115b384cf87249d76adb0b21aca11ee22128927d (patch) | |
tree | f39a2a54863e9d82d1196906f92c82ab5991c6af /fs/buffer.c | |
parent | [AGPGART] agp.h: constify struct agp_bridge_data::version (diff) | |
parent | Linux 2.6.18-rc6 (diff) | |
download | wireguard-linux-115b384cf87249d76adb0b21aca11ee22128927d.tar.xz wireguard-linux-115b384cf87249d76adb0b21aca11ee22128927d.zip |
Merge ../linus
Diffstat (limited to 'fs/buffer.c')
-rw-r--r-- | fs/buffer.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 3660dcb97591..71649ef9b658 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -470,13 +470,18 @@ out: 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); } /* |