Re: [PATCH 4/9] fs: add O_DIRECT support for sending down write life time hints

From
Christoph Hellwig <hch@infradead.org>
Date
2017-06-26 09:55:07
Also in
linux-fsdevel, linux-nvme
Reply to
Jens Axboe, 2017-06-21
quoted hunk ↗ jump to hunk
@@ -385,6 +385,8 @@ dio_bio_alloc(struct dio *dio, struct dio_submit *sdio,
 	else
 		bio->bi_end_io = dio_bio_end_io;
 
+	bio->bi_opf |= write_hint_to_opf(iocb_write_hint(dio->iocb));
+
 	sdio->bio = bio;
 	sdio->logical_offset_in_bio = sdio->cur_page_fs_offset;
 }
diff --git a/fs/iomap.c b/fs/iomap.c
index c71a64b97fba..9c9f8406018b 100644
--- a/fs/iomap.c
+++ b/fs/iomap.c
@@ -804,6 +804,7 @@ iomap_dio_actor(struct inode *inode, loff_t pos, loff_t length,
 
 		if (dio->flags & IOMAP_DIO_WRITE) {
 			bio_set_op_attrs(bio, REQ_OP_WRITE, REQ_SYNC | REQ_IDLE);
+			bio->bi_opf |= write_hint_to_opf(inode_write_hint(inode));
This should be iocb based as well, otherwise you'll miss out on
the per-file hints.

Also please don't add a > 80 char line.  (And yes, I should fix the one
just above, too)
 			task_io_account_write(bio->bi_iter.bi_size);
 		} else {
 			bio_set_op_attrs(bio, REQ_OP_READ, 0);
-- 
2.7.4
---end quoted text---
Thread (31 messages) 31 messages, 4 authors, last reply 2017-06-27
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help