Lines Matching refs:dss

27                              libxl__domain_save_state *dss, int rc);
282 libxl__domain_save_state *dss = shs->caller_state; in libxl__domain_suspend_common_switch_qemu_logdirty() local
285 libxl__logdirty_switch *const lds = &dss->logdirty; in libxl__domain_suspend_common_switch_qemu_logdirty()
287 if (dss->type == LIBXL_DOMAIN_TYPE_PVH) { in libxl__domain_suspend_common_switch_qemu_logdirty()
299 libxl__domain_save_state *dss = CONTAINER_OF(lds, *dss, logdirty); in domain_suspend_switch_qemu_logdirty_done() local
302 dss->rc = rc; in domain_suspend_switch_qemu_logdirty_done()
304 &dss->sws.shs, -1); in domain_suspend_switch_qemu_logdirty_done()
306 libxl__xc_domain_saverestore_async_callback_done(egc, &dss->sws.shs, 0); in domain_suspend_switch_qemu_logdirty_done()
326 int libxl__save_emulator_xenstore_data(libxl__domain_save_state *dss, in libxl__save_emulator_xenstore_data() argument
330 STATE_AO_GC(dss->ao); in libxl__save_emulator_xenstore_data()
336 const uint32_t domid = dss->domid; in libxl__save_emulator_xenstore_data()
378 void libxl__domain_save(libxl__egc *egc, libxl__domain_save_state *dss) in libxl__domain_save() argument
380 STATE_AO_GC(dss->ao); in libxl__domain_save()
384 const uint32_t domid = dss->domid; in libxl__domain_save()
385 const libxl_domain_type type = dss->type; in libxl__domain_save()
386 const int live = dss->live; in libxl__domain_save()
387 const int debug = dss->debug; in libxl__domain_save()
388 const libxl_domain_remus_info *const r_info = dss->remus; in libxl__domain_save()
390 &dss->sws.shs.callbacks.save.a; in libxl__domain_save()
392 libxl__domain_suspend_state *dsps = &dss->dsps; in libxl__domain_save()
394 if (dss->checkpointed_stream != LIBXL_CHECKPOINTED_STREAM_NONE && !r_info) { in libxl__domain_save()
401 dss->rc = 0; in libxl__domain_save()
402 libxl__logdirty_init(&dss->logdirty); in libxl__domain_save()
403 dss->logdirty.ao = ao; in libxl__domain_save()
411 dss->xcflags = (live ? XCFLAGS_LIVE : 0) in libxl__domain_save()
429 if (dss->checkpointed_stream == LIBXL_CHECKPOINTED_STREAM_NONE) in libxl__domain_save()
434 dss->sws.ao = dss->ao; in libxl__domain_save()
435 dss->sws.dss = dss; in libxl__domain_save()
436 dss->sws.fd = dss->fd; in libxl__domain_save()
437 dss->sws.back_channel = false; in libxl__domain_save()
438 dss->sws.completion_callback = stream_done; in libxl__domain_save()
440 libxl__stream_write_start(egc, &dss->sws); in libxl__domain_save()
444 domain_save_done(egc, dss, rc); in libxl__domain_save()
450 domain_save_done(egc, sws->dss, rc); in stream_done()
454 libxl__domain_save_state *dss, int rc) in domain_save_done() argument
456 STATE_AO_GC(dss->ao); in domain_save_done()
459 const uint32_t domid = dss->domid; in domain_save_done()
460 libxl__domain_suspend_state *dsps = &dss->dsps; in domain_save_done()
468 if (dss->remus) { in domain_save_done()
475 if (libxl_defbool_val(dss->remus->colo)) in domain_save_done()
476 libxl__colo_save_teardown(egc, &dss->css, rc); in domain_save_done()
478 libxl__remus_teardown(egc, &dss->rs, rc); in domain_save_done()
482 dss->callback(egc, dss, rc); in domain_save_done()