ext4: add support for passing in write hints for buffered writes
authorJens Axboe <axboe@kernel.dk>
Tue, 27 Jun 2017 15:32:37 +0000 (09:32 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 27 Jun 2017 18:05:44 +0000 (12:05 -0600)
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/ext4/page-io.c

index 930ca0fc9a0fa227941011451958fdec42e91f41..c2fce4478cca26445c0605ff61a1f1b00302c41c 100644 (file)
@@ -350,6 +350,7 @@ void ext4_io_submit(struct ext4_io_submit *io)
        if (bio) {
                int io_op_flags = io->io_wbc->sync_mode == WB_SYNC_ALL ?
                                  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);
                submit_bio(io->io_bio);
        }
@@ -397,6 +398,7 @@ submit_and_retry:
                ret = io_submit_init_bio(io, bh);
                if (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));
        if (ret != bh->b_size)