aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Henderson <william.henderson@nutanix.com>2023-07-13 13:58:27 +0000
committerJohn Levon <john.levon@nutanix.com>2023-09-15 13:05:01 +0100
commit4b94ab928514422b631e932fc280f0d6686fba90 (patch)
treeb03ba697a1fdcc59229da39cce68010c34aa54e6
parent2ce5c70f9e0dc1bd159cec9cfa1f7cff7fef3596 (diff)
downloadlibvfio-user-4b94ab928514422b631e932fc280f0d6686fba90.zip
libvfio-user-4b94ab928514422b631e932fc280f0d6686fba90.tar.gz
libvfio-user-4b94ab928514422b631e932fc280f0d6686fba90.tar.bz2
fix: work with changes to implementation
Signed-off-by: William Henderson <william.henderson@nutanix.com>
-rw-r--r--samples/client.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/samples/client.c b/samples/client.c
index 121122a..6fae041 100644
--- a/samples/client.c
+++ b/samples/client.c
@@ -36,6 +36,7 @@
#include <errno.h>
#include <sys/mman.h>
#include <sys/eventfd.h>
+#include <sys/param.h>
#include <time.h>
#include <err.h>
#include <assert.h>
@@ -560,7 +561,7 @@ static int
read_migr_data(int sock, void *buf, size_t len)
{
static int msg_id = 0x6904;
- struct vfio_user_mig_data_without_data req = {
+ struct vfio_user_mig_data req = {
.argsz = 12,
.size = len
};
@@ -570,7 +571,7 @@ read_migr_data(int sock, void *buf, size_t len)
.iov_len = sizeof(req)
}
};
- struct vfio_user_mig_data_with_data *res = calloc(1, sizeof(req) + len);
+ struct vfio_user_mig_data *res = calloc(1, sizeof(req) + len);
pthread_mutex_lock(&mutex);
int ret = tran_sock_msg_iovec(sock, msg_id--, VFIO_USER_MIG_DATA_READ,
@@ -594,7 +595,7 @@ static int
write_migr_data(int sock, void *buf, size_t len)
{
static int msg_id = 0x2023;
- struct vfio_user_mig_data_with_data req = {
+ struct vfio_user_mig_data req = {
.argsz = 12 + len,
.size = len
};
@@ -909,7 +910,7 @@ fake_guest(void *arg)
static size_t
migrate_from(int sock, size_t *nr_iters, struct iovec **migr_iters,
- uint32_t *crcp, size_t bar1_size)
+ uint32_t *crcp, size_t bar1_size, size_t max_iter_size)
{
uint32_t device_state;
int ret;
@@ -921,15 +922,13 @@ migrate_from(int sock, size_t *nr_iters, struct iovec **migr_iters,
.crcp = crcp
};
- size_t max_iter_size = 4096;
-
ret = pthread_create(&thread, NULL, fake_guest, &fake_guest_data);
if (ret != 0) {
errno = ret;
err(EXIT_FAILURE, "failed to create pthread");
}
- *nr_iters = 8;
+ *nr_iters = 16;
*migr_iters = malloc(sizeof(struct iovec) * *nr_iters);
if (*migr_iters == NULL) {
err(EXIT_FAILURE, NULL);
@@ -1296,7 +1295,9 @@ int main(int argc, char *argv[])
err(EXIT_FAILURE, "failed to write to BAR0");
}
- nr_iters = migrate_from(sock, &nr_iters, &migr_iters, &crc, bar1_size);
+ nr_iters = migrate_from(sock, &nr_iters, &migr_iters, &crc, bar1_size,
+ MIN(server_max_data_xfer_size,
+ CLIENT_MAX_DATA_XFER_SIZE));
/*
* Normally the client would now send the device state to the destination