fs: make mpage read/write_pages() plug

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
Jens Axboe 2010-06-22 12:52:14 +02:00
parent 5b417b1873
commit 2ed1a6bcf9
1 changed files with 8 additions and 0 deletions

View File

@ -364,6 +364,9 @@ mpage_readpages(struct address_space *mapping, struct list_head *pages,
sector_t last_block_in_bio = 0; sector_t last_block_in_bio = 0;
struct buffer_head map_bh; struct buffer_head map_bh;
unsigned long first_logical_block = 0; unsigned long first_logical_block = 0;
struct blk_plug plug;
blk_start_plug(&plug);
map_bh.b_state = 0; map_bh.b_state = 0;
map_bh.b_size = 0; map_bh.b_size = 0;
@ -385,6 +388,7 @@ mpage_readpages(struct address_space *mapping, struct list_head *pages,
BUG_ON(!list_empty(pages)); BUG_ON(!list_empty(pages));
if (bio) if (bio)
mpage_bio_submit(READ, bio); mpage_bio_submit(READ, bio);
blk_finish_plug(&plug);
return 0; return 0;
} }
EXPORT_SYMBOL(mpage_readpages); EXPORT_SYMBOL(mpage_readpages);
@ -666,8 +670,11 @@ int
mpage_writepages(struct address_space *mapping, mpage_writepages(struct address_space *mapping,
struct writeback_control *wbc, get_block_t get_block) struct writeback_control *wbc, get_block_t get_block)
{ {
struct blk_plug plug;
int ret; int ret;
blk_start_plug(&plug);
if (!get_block) if (!get_block)
ret = generic_writepages(mapping, wbc); ret = generic_writepages(mapping, wbc);
else { else {
@ -682,6 +689,7 @@ mpage_writepages(struct address_space *mapping,
if (mpd.bio) if (mpd.bio)
mpage_bio_submit(WRITE, mpd.bio); mpage_bio_submit(WRITE, mpd.bio);
} }
blk_finish_plug(&plug);
return ret; return ret;
} }
EXPORT_SYMBOL(mpage_writepages); EXPORT_SYMBOL(mpage_writepages);