Set the page with PG_asyncwb and PG_plugged, and set the bio with BIO_ASYNC_WB when submitting asynchronous writeback I/O in order to mark which pages are flushed as asynchronous writeback I/O and which one stays in the plug list. Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> --- fs/ext4/page-io.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c index 2a01df9..5912e59 100644 --- a/fs/ext4/page-io.c +++ b/fs/ext4/page-io.c @@ -370,6 +370,10 @@ static int io_submit_init_bio(struct ext4_io_submit *io, bio->bi_private = ext4_get_io_end(io->io_end); io->io_bio = bio; io->io_next_block = bh->b_blocknr; +#ifdef CONFIG_BOOST_URGENT_ASYNC_WB + if (io->io_wbc->sync_mode == WB_SYNC_NONE) + bio->bi_flags |= (1 << BIO_ASYNC_WB); +#endif return 0; } @@ -416,6 +420,13 @@ int ext4_bio_write_page(struct ext4_io_submit *io, BUG_ON(!PageLocked(page)); BUG_ON(PageWriteback(page)); +#ifdef CONFIG_BOOST_URGENT_ASYNC_WB + if (wbc->sync_mode == WB_SYNC_NONE) { + SetPagePlugged(page); + SetPageAsyncWB(page); + } +#endif + if (keep_towrite) set_page_writeback_keepwrite(page); else -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html