Commit 0127251c authored by Jens Axboe's avatar Jens Axboe

ext4: add support for passing in write hints for buffered writes

Reviewed-by: default avatarAndreas Dilger <adilger@dilger.ca>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 8e8f9298
...@@ -350,6 +350,7 @@ void ext4_io_submit(struct ext4_io_submit *io) ...@@ -350,6 +350,7 @@ void ext4_io_submit(struct ext4_io_submit *io)
if (bio) { if (bio) {
int io_op_flags = io->io_wbc->sync_mode == WB_SYNC_ALL ? int io_op_flags = io->io_wbc->sync_mode == WB_SYNC_ALL ?
REQ_SYNC : 0; REQ_SYNC : 0;
io->io_bio->bi_write_hint = io->io_end->inode->i_write_hint;
bio_set_op_attrs(io->io_bio, REQ_OP_WRITE, io_op_flags); bio_set_op_attrs(io->io_bio, REQ_OP_WRITE, io_op_flags);
submit_bio(io->io_bio); submit_bio(io->io_bio);
} }
...@@ -397,6 +398,7 @@ static int io_submit_add_bh(struct ext4_io_submit *io, ...@@ -397,6 +398,7 @@ static int io_submit_add_bh(struct ext4_io_submit *io,
ret = io_submit_init_bio(io, bh); ret = io_submit_init_bio(io, bh);
if (ret) if (ret)
return ret; return ret;
io->io_bio->bi_write_hint = inode->i_write_hint;
} }
ret = bio_add_page(io->io_bio, page, bh->b_size, bh_offset(bh)); ret = bio_add_page(io->io_bio, page, bh->b_size, bh_offset(bh));
if (ret != bh->b_size) if (ret != bh->b_size)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment