From c08ce6363b1d3487f330a542ed5273f5d055d3bc Mon Sep 17 00:00:00 2001 From: Thanos Makatos Date: Mon, 15 Feb 2021 10:00:54 +0000 Subject: ack dirty page commands w/o DMA controller (#334) need unit tests Signed-off-by: Thanos Makatos Reviewed-by: John Levon --- lib/libvfio-user.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/libvfio-user.c') diff --git a/lib/libvfio-user.c b/lib/libvfio-user.c index 9b87899..fb94b23 100644 --- a/lib/libvfio-user.c +++ b/lib/libvfio-user.c @@ -843,12 +843,17 @@ exec_command(vfu_ctx_t *vfu_ctx, struct vfio_user_header *hdr, size_t size, case VFIO_USER_DIRTY_PAGES: // FIXME: don't allow migration calls if migration == NULL - ret = handle_dirty_pages(vfu_ctx, cmd_data_size, iovecs, nr_iovecs, - cmd_data); + if (vfu_ctx->dma != NULL) { + ret = handle_dirty_pages(vfu_ctx, cmd_data_size, iovecs, + nr_iovecs, cmd_data); + } else { + ret = 0; + } if (ret >= 0) { *free_iovec_data = false; } break; + default: vfu_log(vfu_ctx, LOG_ERR, "bad command %d", hdr->cmd); ret = -EINVAL; -- cgit v1.1