The series enables FDP support for block IO. The patches - Add ki_write_stream in kiocb (patch 1), and bi_write_stream in bio (patch 2). - Introduce two new queue limits - max_write_streams and write_stream_granularity (patch 3, 4) - Pass write stream (either from kiocb, or from inode write hints) for block device (patch 5) - Per I/O write stream interface in io_uring (patch 6) - Register nvme fdp via write stream queue limits (patch 10, 11) Changes since v15: - Merged to latest for-next (Jens) Previous discussions: v15: https://lore.kernel.org/linux-nvme/20250203184129.1829324-1-kbusch@xxxxxxxx/T/#u v14: https://lore.kernel.org/linux-nvme/20241211183514.64070-1-kbusch@xxxxxxxx/T/#u v13: https://lore.kernel.org/linux-nvme/20241210194722.1905732-1-kbusch@xxxxxxxx/T/#u v12: https://lore.kernel.org/linux-nvme/20241206221801.790690-1-kbusch@xxxxxxxx/T/#u v11: https://lore.kernel.org/linux-nvme/20241206015308.3342386-1-kbusch@xxxxxxxx/T/#u v10: https://lore.kernel.org/linux-nvme/20241029151922.459139-1-kbusch@xxxxxxxx/T/#u v9: https://lore.kernel.org/linux-nvme/20241025213645.3464331-1-kbusch@xxxxxxxx/T/#u v8: https://lore.kernel.org/linux-nvme/20241017160937.2283225-1-kbusch@xxxxxxxx/T/#u v7: https://lore.kernel.org/linux-nvme/20240930181305.17286-1-joshi.k@xxxxxxxxxxx/T/#u v6: https://lore.kernel.org/linux-nvme/20240924092457.7846-1-joshi.k@xxxxxxxxxxx/T/#u v5: https://lore.kernel.org/linux-nvme/20240910150200.6589-1-joshi.k@xxxxxxxxxxx/T/#u v4: https://lore.kernel.org/linux-nvme/20240826170606.255718-1-joshi.k@xxxxxxxxxxx/T/#u v3: https://lore.kernel.org/linux-nvme/20240702102619.164170-1-joshi.k@xxxxxxxxxxx/T/#u v2: https://lore.kernel.org/linux-nvme/20240528150233.55562-1-joshi.k@xxxxxxxxxxx/T/#u v1: https://lore.kernel.org/linux-nvme/20240510134015.29717-1-joshi.k@xxxxxxxxxxx/T/#u Christoph Hellwig (7): fs: add a write stream field to the kiocb block: add a bi_write_stream field block: introduce a write_stream_granularity queue limit block: expose write streams for block device nodes nvme: add a nvme_get_log_lsi helper nvme: pass a void pointer to nvme_get/set_features for the result nvme: add FDP definitions Keith Busch (4): block: introduce max_write_streams queue limit io_uring: enable per-io write streams nvme: register fdp parameters with the block layer nvme: use fdp streams if write stream is provided Documentation/ABI/stable/sysfs-block | 15 +++ block/bio.c | 2 + block/blk-crypto-fallback.c | 1 + block/blk-merge.c | 4 + block/blk-sysfs.c | 6 + block/fops.c | 23 ++++ drivers/nvme/host/core.c | 191 ++++++++++++++++++++++++++- drivers/nvme/host/nvme.h | 7 +- include/linux/blk_types.h | 1 + include/linux/blkdev.h | 10 ++ include/linux/fs.h | 1 + include/linux/nvme.h | 77 +++++++++++ include/uapi/linux/io_uring.h | 4 + io_uring/io_uring.c | 2 + io_uring/rw.c | 1 + 15 files changed, 339 insertions(+), 6 deletions(-) base-commit: e6d9dcfdc0c53b87cfe86163bfbd14f6457ef2b7 -- 2.25.1