Lines Matching refs:dss

27                              libxl__domain_save_state *dss, int rc);
141 libxl__domain_save_state *dss = CONTAINER_OF(lds, *dss, logdirty); in domain_suspend_switch_qemu_logdirty_done() local
144 dss->rc = rc; in domain_suspend_switch_qemu_logdirty_done()
146 &dss->sws.shs, -1); in domain_suspend_switch_qemu_logdirty_done()
148 libxl__xc_domain_saverestore_async_callback_done(egc, &dss->sws.shs, 0); in domain_suspend_switch_qemu_logdirty_done()
156 libxl__domain_save_state *dss = shs->caller_state; in libxl__domain_suspend_common_switch_qemu_logdirty() local
159 libxl__logdirty_switch *const lds = &dss->logdirty; in libxl__domain_suspend_common_switch_qemu_logdirty()
161 if (dss->type == LIBXL_DOMAIN_TYPE_PVH) { in libxl__domain_suspend_common_switch_qemu_logdirty()
283 int libxl__save_emulator_xenstore_data(libxl__domain_save_state *dss, in libxl__save_emulator_xenstore_data() argument
287 STATE_AO_GC(dss->ao); in libxl__save_emulator_xenstore_data()
293 const uint32_t domid = dss->domid; in libxl__save_emulator_xenstore_data()
335 void libxl__domain_save(libxl__egc *egc, libxl__domain_save_state *dss) in libxl__domain_save() argument
337 STATE_AO_GC(dss->ao); in libxl__domain_save()
341 const uint32_t domid = dss->domid; in libxl__domain_save()
342 const libxl_domain_type type = dss->type; in libxl__domain_save()
343 const int live = dss->live; in libxl__domain_save()
344 const int debug = dss->debug; in libxl__domain_save()
345 const libxl_domain_remus_info *const r_info = dss->remus; in libxl__domain_save()
347 &dss->sws.shs.callbacks.save.a; in libxl__domain_save()
349 libxl__domain_suspend_state *dsps = &dss->dsps; in libxl__domain_save()
351 if (dss->checkpointed_stream != LIBXL_CHECKPOINTED_STREAM_NONE && !r_info) { in libxl__domain_save()
358 dss->rc = 0; in libxl__domain_save()
359 libxl__logdirty_init(&dss->logdirty); in libxl__domain_save()
360 dss->logdirty.ao = ao; in libxl__domain_save()
370 dss->hvm = 1; in libxl__domain_save()
374 dss->hvm = 0; in libxl__domain_save()
380 dss->xcflags = (live ? XCFLAGS_LIVE : 0) in libxl__domain_save()
382 | (dss->hvm ? XCFLAGS_HVM : 0); in libxl__domain_save()
399 if (dss->checkpointed_stream == LIBXL_CHECKPOINTED_STREAM_REMUS) { in libxl__domain_save()
401 dss->xcflags |= XCFLAGS_CHECKPOINT_COMPRESS; in libxl__domain_save()
404 if (dss->checkpointed_stream == LIBXL_CHECKPOINTED_STREAM_NONE) in libxl__domain_save()
409 dss->sws.ao = dss->ao; in libxl__domain_save()
410 dss->sws.dss = dss; in libxl__domain_save()
411 dss->sws.fd = dss->fd; in libxl__domain_save()
412 dss->sws.back_channel = false; in libxl__domain_save()
413 dss->sws.completion_callback = stream_done; in libxl__domain_save()
415 libxl__stream_write_start(egc, &dss->sws); in libxl__domain_save()
419 domain_save_done(egc, dss, rc); in libxl__domain_save()
425 domain_save_done(egc, sws->dss, rc); in stream_done()
429 libxl__domain_save_state *dss, int rc) in domain_save_done() argument
431 STATE_AO_GC(dss->ao); in domain_save_done()
434 const uint32_t domid = dss->domid; in domain_save_done()
435 libxl__domain_suspend_state *dsps = &dss->dsps; in domain_save_done()
443 if (dss->remus) { in domain_save_done()
450 if (libxl_defbool_val(dss->remus->colo)) in domain_save_done()
451 libxl__colo_save_teardown(egc, &dss->css, rc); in domain_save_done()
453 libxl__remus_teardown(egc, &dss->rs, rc); in domain_save_done()
457 dss->callback(egc, dss, rc); in domain_save_done()