[PATCHv13 00/11] block write streams with nvme fdp
Keith Busch
kbusch at meta.com
Tue Dec 10 11:47:11 PST 2024
From: Keith Busch <kbusch at kernel.org>
Previous discussion threads:
v12: https://lore.kernel.org/linux-nvme/20241206221801.790690-1-kbusch@meta.com/T/#u
v11: https://lore.kernel.org/linux-nvme/20241206015308.3342386-1-kbusch@meta.com/T/#u
Changes from v12:
- Removed statx. We need additional time to consider the best way to
expose these attributes. Until then, applications can fallback to the
sysfs block attribute to query write stream settings.
- More verbose logging on error.
- Added reviews.
- Explicitly clear the return value to 0 for unsupported or
unrecognized FDP configs; while it's not technically needed (it's
already 0 in these paths), it makes it clear that a non-error return
wasn't an accidental oversight.
- Fixed the compiler warnings from unitialized variable; switched the
do-while to a more clear for-loop.
- Fixed long-line wrapping
- Memory leak when cleaning up the namespace head.
- Don't rescan FDP configuration if we successfully set it up before.
The namespaces' FDP configuration is static.
- Better function name querying the size granularity of the FDP reclaim
unit.
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/bounce.c | 1 +
block/fops.c | 23 ++++
drivers/nvme/host/core.c | 186 ++++++++++++++++++++++++++-
drivers/nvme/host/nvme.h | 7 +-
include/linux/blk_types.h | 1 +
include/linux/blkdev.h | 16 +++
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 +
16 files changed, 341 insertions(+), 6 deletions(-)
--
2.43.5
More information about the Linux-nvme
mailing list