Philippe Mathieu-Daudé f25e7ab2b0 block/nvme: Add driver statistics for access alignment and hw errors
Keep statistics of some hardware errors, and number of
aligned/unaligned I/O accesses.

QMP example booting a full RHEL 8.3 aarch64 guest:

{ "execute": "query-blockstats" }
{
    "return": [
        {
            "device": "",
            "node-name": "drive0",
            "stats": {
                "flush_total_time_ns": 6026948,
                "wr_highest_offset": 3383991230464,
                "wr_total_time_ns": 807450995,
                "failed_wr_operations": 0,
                "failed_rd_operations": 0,
                "wr_merged": 3,
                "wr_bytes": 50133504,
                "failed_unmap_operations": 0,
                "failed_flush_operations": 0,
                "account_invalid": false,
                "rd_total_time_ns": 1846979900,
                "flush_operations": 130,
                "wr_operations": 659,
                "rd_merged": 1192,
                "rd_bytes": 218244096,
                "account_failed": false,
                "idle_time_ns": 2678641497,
                "rd_operations": 7406,
            },
            "driver-specific": {
                "driver": "nvme",
                "completion-errors": 0,
                "unaligned-accesses": 2959,
                "aligned-accesses": 4477
            },
            "qdev": "/machine/peripheral-anon/device[0]/virtio-backend"
        }
    ]
}

Suggested-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-id: 20201001162939.1567915-1-philmd@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2020-10-23 13:42:16 +01:00
..
2020-09-07 17:13:19 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-09-07 17:13:19 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-09-07 17:13:19 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00
2020-08-03 08:28:08 +02:00