From: Alexander Mikhalitsyn <[email protected]> Dear friends,
This patchset adds basic live migration support for QEMU emulated NVMe device. Implementation has some limitations: - only one NVMe namespace is supported - SMART counters are not preserved - CMB is not supported - PMR is not supported - SPDM is not supported - SR-IOV is not supported - AERs are not fully supported I believe this is something I can support in next patchset versions or separately on-demand (when usecase appears). But I wanted to share this first version as RFC to get some feedback on this in case if I'm approaching it wrong. Kind regards, Alex Alexander Mikhalitsyn (4): hw/nvme: add migration blockers for non-supported cases hw/nvme: split nvme_init_sq/nvme_init_cq into helpers migration: add VMSTATE_VARRAY_OF_POINTER_TO_STRUCT_ALLOC hw/nvme: add basic live migration support hw/nvme/ctrl.c | 505 +++++++++++++++++++++++++++++++++--- hw/nvme/nvme.h | 5 + hw/nvme/trace-events | 9 + include/migration/vmstate.h | 21 ++ migration/vmstate-types.c | 88 +++++++ 5 files changed, 598 insertions(+), 30 deletions(-) -- 2.47.3
