For NAND-based SSDs, mixing of data with different life-time reduces efficiency of garbage-collection. During FS operations, series of journal updates will follow/precede series of data/meta updates, causing intermixing inside SSD. By passing a write-hint (a.k.a stream) with journal, its writes can be isolated from other meta/data writes, leading to performance/endurance benefit on multi-stream SSD. This is described in greater detail (along with results) in this "FAST 2018" paper - https://www.usenix.org/system/files/conference/fast18/fast18-rho.pdf This patch is split into two parts. First patch introduces APIs to send write-hint with buffer-head. Second one implement "journal_writehint" mount option (inspired from "journal_ioprio") in Ext4/JBD2. Kanchan Joshi (2): fs: introduce APIs to enable sending write-hint with buffer-head fs/ext4,jbd2: Add support for passing write-hint with journal. fs/buffer.c | 21 +++++++++++++++++++++ fs/ext4/super.c | 33 +++++++++++++++++++++++++++------ fs/jbd2/commit.c | 11 +++++++---- fs/jbd2/journal.c | 2 +- fs/jbd2/revoke.c | 2 +- include/linux/buffer_head.h | 3 +++ include/linux/jbd2.h | 7 +++++++ 7 files changed, 67 insertions(+), 12 deletions(-) -- 2.7.4