• Sagi Grimberg's avatar
    nvme-multipath: support io stats on the mpath device · d4d957b5
    Sagi Grimberg authored
    Our mpath stack device is just a shim that selects a bottom namespace
    and submits the bio to it without any fancy splitting. This also means
    that we don't clone the bio or have any context to the bio beyond
    submission. However it really sucks that we don't see the mpath device
    io stats.
    
    Given that the mpath device can't do that without adding some context
    to it, we let the bottom device do it on its behalf (somewhat similar
    to the approach taken in nvme_trace_bio_complete).
    
    When the IO starts, we account the request for multipath IO stats using
    REQ_NVME_MPATH_IO_STATS nvme_request flag to avoid queue io stats disable
    in the middle of the request.
    Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarKeith Busch <kbusch@kernel.org>
    d4d957b5
multipath.c 24.6 KB