ext4: add support for passing in write hints for buffered writes
Reviewed-by: Andreas Dilger <adilger@dilger.ca> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
@@ -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 @@ submit_and_retry:
|
|||||||
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)
|
||||||
|
Reference in New Issue
Block a user