diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-01-15 18:27:20 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-01-15 18:27:20 +0100 |
commit | c0106d72b8d71696dbe9dc80e2c77d4ac63f7531 (patch) | |
tree | ca96d2baecb0555e36219ed6968dc8e306e530ca /fs/mpage.c | |
parent | 5852973c129cf7c7e6c229abb7250673fc2a50c9 (diff) | |
parent | eff317d0834ad1ff03f747f6bc2d76b9a9c95160 (diff) | |
download | kernel-crypto-c0106d72b8d71696dbe9dc80e2c77d4ac63f7531.tar.gz kernel-crypto-c0106d72b8d71696dbe9dc80e2c77d4ac63f7531.tar.xz kernel-crypto-c0106d72b8d71696dbe9dc80e2c77d4ac63f7531.zip |
Merge branch 'topic/asoc' into next/asoc
Diffstat (limited to 'fs/mpage.c')
-rw-r--r-- | fs/mpage.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/mpage.c b/fs/mpage.c index 552b80b3fac..16c3ef37eae 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -241,7 +241,6 @@ do_mpage_readpage(struct bio *bio, struct page *page, unsigned nr_pages, first_hole = page_block; page_block++; block_in_file++; - clear_buffer_mapped(map_bh); continue; } @@ -308,7 +307,10 @@ alloc_new: goto alloc_new; } - if (buffer_boundary(map_bh) || (first_hole != blocks_per_page)) + relative_block = block_in_file - *first_logical_block; + nblocks = map_bh->b_size >> blkbits; + if ((buffer_boundary(map_bh) && relative_block == nblocks) || + (first_hole != blocks_per_page)) bio = mpage_bio_submit(READ, bio); else *last_block_in_bio = blocks[blocks_per_page - 1]; |