On 05/12/24 05:53PM, Keith Busch wrote: >From: Christoph Hellwig > >Export statx information about the number and granularity of write >streams, use the per-kiocb write hint and map temperature hints to write >streams (which is a bit questionable, but this shows how it is done). > >Signed-off-by: Christoph Hellwig >Signed-off-by: Keith Busch >--- > block/bdev.c | 6 ++++++ > block/fops.c | 23 +++++++++++++++++++++++ > 2 files changed, 29 insertions(+) > >diff --git a/block/bdev.c b/block/bdev.c >index 738e3c8457e7f..c23245f1fdfe3 100644 >--- a/block/bdev.c >+++ b/block/bdev.c >@@ -1296,6 +1296,12 @@ void bdev_statx(struct path *path, struct kstat *stat, > stat->result_mask |= STATX_DIOALIGN; > } > >+ if ((request_mask & STATX_WRITE_STREAM) && Need to remove a check for at the start of the function for this to work, something like this, - if (!(request_mask & (STATX_DIOALIGN | STATX_WRITE_ATOMIC))) + if (!(request_mask & (STATX_DIOALIGN | STATX_WRITE_ATOMIC | + STATX_WRITE_STREAM))) return; >+ bdev_max_write_streams(bdev)) { >+ stat->write_stream_max = bdev_max_write_streams(bdev); I think write_stream_granularity needs to be added. stat->write_stream_granularity = bdev_write_stream_granularity(bdev); Otherwise, patch looks good to me. --Nitesh Shetty