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


Reply via email to