aboutsummaryrefslogtreecommitdiff
path: root/lib/migration.c
diff options
context:
space:
mode:
authorThanos Makatos <thanos.makatos@nutanix.com>2022-03-07 09:42:05 +0000
committerGitHub <noreply@github.com>2022-03-07 09:42:05 +0000
commita8d452e8e384be847377ab41a7ee19d4da71fde3 (patch)
tree53bf43c651e6f7af7b3add7034d197c6f6276dc6 /lib/migration.c
parent6bb0c5c7747499a0463c78a97591a64d1324aba7 (diff)
downloadlibvfio-user-a8d452e8e384be847377ab41a7ee19d4da71fde3.zip
libvfio-user-a8d452e8e384be847377ab41a7ee19d4da71fde3.tar.gz
libvfio-user-a8d452e8e384be847377ab41a7ee19d4da71fde3.tar.bz2
check for allowed operations in quiesce state (#647)
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com> Reviewed-by: John Levon <john.levon@nutanix.com>
Diffstat (limited to 'lib/migration.c')
-rw-r--r--lib/migration.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/migration.c b/lib/migration.c
index 64ef4a7..fc5bb39 100644
--- a/lib/migration.c
+++ b/lib/migration.c
@@ -155,8 +155,12 @@ MOCK_DEFINE(migr_trans_to_valid_state)(vfu_ctx_t *vfu_ctx, struct migration *mig
{
if (notify) {
int ret;
+ assert(!vfu_ctx->in_cb);
+ vfu_ctx->in_cb = CB_MIGR_STATE;
ret = state_trans_notify(vfu_ctx, migr->callbacks.transition,
device_state);
+ vfu_ctx->in_cb = CB_NONE;
+
if (ret != 0) {
return ret;
}