@@ -3338,14 +3338,15 @@ static int qemu_rdma_registration_stop(QEMUFile *f, void *opaque,
for (i = 0; i < nb_dest_blocks; i++) {
network_to_dest_block(&rdma->dest_blocks[i]);
- /* We require that the blocks are in the same order */
+ /* We require that the blocks are in the same order,
+ * but the used_length trick for acpi blocks means that
+ * the destination can validly be larger than the source
+ */
if (rdma->dest_blocks[i].length != local->block[i].length) {
- ERROR(errp, "Block %s/%d has a different length %" PRIu64
- "vs %" PRIu64, local->block[i].block_name, i,
- local->block[i].length,
+ fprintf(stderr, "INFO: Block %s/%d has a different length %"
+ PRIu64 "vs %" PRIu64, local->block[i].block_name,
+ i, local->block[i].length,
rdma->dest_blocks[i].length);
- rdma->error_state = -EINVAL;
- return -EINVAL;
}
local->block[i].remote_host_addr =
rdma->dest_blocks[i].remote_host_addr;