[PATCH rfc 0/1] nvme-mpath: Add IO stats support

Sagi Grimberg
2022-09-28T19:55:18Z

I've been hearing complaints about the fact that the nvme mpath stack
device does not expose IO stats just like any normal block device,
instead people need to check the bottom namespaces hidden devices,
mapping back to the mpath device node.

This really sucks, especially for observability hooks/plugins that
I've seen people do.

This is an attempt to make the nvme mpath device expose normal IO stats.
Given that nvme-mpath doesn't have any context after submitting the bio,
we use the core completion path to start/end stats accounting on its
behalf, a similar practice that we use for other multipath related stuff.

Given that its not too invasive, I decided to keep it
in a single patch, but I can certainly split it in to
smaller patches if anyone thinks I should.

Feedback is welcome.

Sagi Grimberg (1):
nvme: support io stats on the mpath device

drivers/nvme/host/apple.c | 2 +-
drivers/nvme/host/core.c | 10 ++++++++++
drivers/nvme/host/fc.c | 2 +-
drivers/nvme/host/multipath.c | 18 ++++++++++++++++++
drivers/nvme/host/nvme.h | 13 +++++++++++++
drivers/nvme/host/pci.c | 2 +-
drivers/nvme/host/rdma.c | 2 +-
drivers/nvme/host/tcp.c | 2 +-
drivers/nvme/target/loop.c | 2 +-
9 files changed, 47 insertions(+), 6 deletions(-)

--
2.34.1