+44
−30
Loading
Currently we initialize pending_bytes only in pre-copy state. This is pointless since we don't generate any migration data at this state, so if the vfio-user client reads migration data it will be garbage. Even worse, we don't re-initialize pending_bytes in stop-and-copy state, so if the vfio-user client reads the entire migration data in pre-copy state then there will be nothing left to read in the stop-and-copy state, which is where we actually produce the migration data. This results in corruption of the controller's state (e.g. queues). This patch ensures that migration data are available in the stop-and-copy state, by setting pending_bytes accordingly only in that state. Signed-off-by:Thanos Makatos <thanos.makatos@nutanix.com> Change-Id: I0b215e64cd1f58f254e1079f06402d196f984099 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11718 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Changpeng Liu <changpeng.liu@intel.com> Reviewed-by:
Jim Harris <james.r.harris@intel.com>