Re: [PATCH v2] fs: pass the write life time hint to the mapped filesystem
Thanks, I see that now. What is the file hint using F_SET_FILE_RW_HINT used for? It seems that if both are set, the one set first gets used and, if only the file hint is set, it is not used at all. On 9/18/2017 9:49 AM, Christoph Hellwig wrote: On Mon, Sep 18, 2017 at 09:45:57AM -0600, Michael Moy wrote: The write hint needs to be copied to the mapped filesystem so it can be passed down to the nvme device driver. v2: fix tabs in the email If you want the write hint for buffered I/O you need to set it on the inode using F_SET_RW_HINT. With your patch we'd magically move the file hint to the inode hint on each write. ___ Linux-nvme mailing list linux-n...@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-nvme
[PATCH v2] fs: pass the write life time hint to the mapped filesystem
The write hint needs to be copied to the mapped filesystem so it can be passed down to the nvme device driver. v2: fix tabs in the email Signed-off-by: Michael Moy--- mm/filemap.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/mm/filemap.c b/mm/filemap.c index 870971e..f9849b8 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -3008,6 +3008,16 @@ ssize_t generic_perform_write(struct file *file, break; } + /* +* Copy a write hint to the mapped filesystem. +* +* Use the File hint first, inode next. +*/ + if (file->f_write_hint) + mapping->host->i_write_hint = file->f_write_hint; + else if (file->f_inode->i_write_hint) + mapping->host->i_write_hint = file->f_inode->i_write_hint; + status = a_ops->write_begin(file, mapping, pos, bytes, flags, , ); if (unlikely(status < 0)) -- 1.8.3.1
Re: [PATCH v2] fs: pass the write life time hint to the mapped filesystem
On Mon, Sep 18, 2017 at 09:45:57AM -0600, Michael Moy wrote: > The write hint needs to be copied to the mapped filesystem > so it can be passed down to the nvme device driver. > > v2: fix tabs in the email If you want the write hint for buffered I/O you need to set it on the inode using F_SET_RW_HINT. With your patch we'd magically move the file hint to the inode hint on each write.