Spdk/lib/nvmf
Thanos Makatos 50a4875255 nvmf/vfio-user: ensure migration data are generated in stop-and-copy state
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>
2022-07-11 07:38:04 +00:00
..
ctrlr_bdev.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
ctrlr_discovery.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
ctrlr.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
fc_ls.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
fc.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
Makefile libvfio-user: compile shared library based on CONFIG_SHARED flag 2022-06-23 07:43:26 +00:00
nvmf_fc.h check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvmf_internal.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvmf_rpc.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvmf.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
rdma.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
spdk_nvmf.map lib/nvmf : Added support for ZCOPY 2021-07-23 08:34:43 +00:00
subsystem.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
tcp.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
transport.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
transport.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
vfio_user.c nvmf/vfio-user: ensure migration data are generated in stop-and-copy state 2022-07-11 07:38:04 +00:00