From: Klaus Jensen <k.jen...@samsung.com> This adds support for the Deallocated or Unwritten Logical Block error recovery feature as well as the Dataset Management command.
v8: - Move req->opaque clearing to nvme_req_clear. - Add two preparation/cleanup patches. v7: - Handle negative return value from bdrv_block_status. - bdrv_get_info may not be supported on all block drivers, so do not consider it a fatal error. v6: - Skip the allocation of the discards integer and just use the opaque value directly (Philippe) - Split changes to include/block/nvme.h into a separate patch (Philippe) - Clean up some convoluted checks on the discards value (Philippe) - Use unambiguous units in the commit messages (Philippe) - Stack allocate the range array (Keith) v5: - Restore status code from callback (Keith) v4: - Removed mixed declaration and code (Keith) - Set NPDG and NPDA and account for the blockdev cluster size. Klaus Jensen (5): hw/block/nvme: remove superfluous NvmeCtrl parameter hw/block/nvme: pull aio error handling hw/block/nvme: add dulbe support nvme: add namespace I/O optimization fields to shared header hw/block/nvme: add the dataset management command hw/block/nvme-ns.h | 4 + hw/block/nvme.h | 2 + include/block/nvme.h | 12 +- hw/block/nvme-ns.c | 34 +++++- hw/block/nvme.c | 258 ++++++++++++++++++++++++++++++++++++------ hw/block/trace-events | 4 + 6 files changed, 276 insertions(+), 38 deletions(-) -- 2.29.2