[PATCH RFC] nvme-multipath: fix diskstats for partitions
John Garry
john.g.garry at oracle.com
Fri Jul 24 00:09:51 PDT 2026
On 24/07/2026 06:01, Christoph Hellwig wrote:
> On Tue, Jul 21, 2026 at 11: 45: 53AM +0000, John Garry wrote: > Setting as an
> RFC as adding this extra bio field is not acceptable, but I > can't see how to
> lookup the original partition. In general it is not, but you should mark this a
>
>
> On Tue, Jul 21, 2026 at 11:45:53AM +0000, John Garry wrote:
>> Setting as an RFC as adding this extra bio field is not acceptable, but I
>> can't see how to lookup the original partition.
>
> In general it is not, but you should mark this a block patch so that
> Jens can better cream at you :)
>
> I'm also not sure that supporting per-partition diskstats on a multipath
> device makes too much sense, but then again there's a lot of setups
> that are crazy and actually used..
>
It just seems to me that we should have same behaviour as if it were not
multipath.
So we can't use bi_private as that can be set by original bio submitter.
I was thinking that this bdev pointer could be temp stashed in bi_next
(as it should be originally NULL), but that it dodgy and maybe won't
even work.
Least worst I can think if is to alloc some temp memory per-bio in
nvme_ns_head_submit_bio() to hold this bdev pointer and original
bi_private, set bio->bi_private to that memory, and then set bi_private
back to original when we end the bio. But this is all crappy, especially
just for partition diskstats.
More information about the Linux-nvme
mailing list