STATE_AO_GC(dss->ao);
if (dss->type != LIBXL_DOMAIN_TYPE_HVM) {
- LOG(ERROR, "COLO only supports hvm now");
+ LOGD(ERROR, dss->domid, "COLO only supports hvm now");
goto out;
}
libxl__stream_read_start(egc, &css->srs);
css->cps.ao = ao;
if (colo_proxy_setup(&css->cps)) {
- LOG(ERROR, "COLO: failed to setup colo proxy for guest with domid %u",
- cds->domid);
+ LOGD(ERROR, cds->domid, "COLO: failed to setup colo proxy for guest");
goto out;
}
return;
}
- LOG(ERROR, "COLO: failed to setup device for guest with domid %u",
- dss->domid);
+ LOGD(ERROR, dss->domid, "COLO: failed to setup device for guest");
cds->callback = colo_save_setup_failed;
libxl__checkpoint_devices_teardown(egc, cds);
}
STATE_AO_GC(cds->ao);
if (rc)
- LOG(ERROR, "COLO: failed to teardown device after setup failed"
- " for guest with domid %u, rc %d", cds->domid, rc);
+ LOGD(ERROR, cds->domid,
+ "COLO: failed to teardown device after setup failed"
+ " for guest, rc %d", rc);
cleanup_device_subkind(cds);
dss->callback(egc, dss, rc);
EGC_GC;
- LOG(WARN, "COLO: Domain suspend terminated with rc %d,"
- " teardown COLO devices...", rc);
+ LOGD(WARN, dss->domid,
+ "COLO: Domain suspend terminated with rc %d,"
+ " teardown COLO devices...", rc);
libxl__stream_read_abort(egc, &css->srs, 1);
EGC_GC;
if (rc) {
- LOG(ERROR, "cannot suspend primary vm");
+ LOGD(ERROR, dss->domid, "cannot suspend primary vm");
goto out;
}
EGC_GC;
if (rc) {
- LOG(ERROR, "postsuspend fails");
+ LOGD(ERROR, dss->domid, "postsuspend fails");
goto out;
}
EGC_GC;
if (id != CHECKPOINT_SVM_SUSPENDED) {
- LOG(ERROR, "invalid section: %d, expected: %d", id,
+ LOGD(ERROR, dss->domid, "invalid section: %d, expected: %d", id,
CHECKPOINT_SVM_SUSPENDED);
goto out;
}
if (!css->paused && libxl__qmp_get_replication_error(gc, dss->domid)) {
- LOG(ERROR, "replication error occurs when primary vm is running");
+ LOGD(ERROR, dss->domid,
+ "replication error occurs when primary vm is running");
goto out;
}
EGC_GC;
if (id != CHECKPOINT_SVM_READY) {
- LOG(ERROR, "invalid section: %d, expected: %d", id,
+ LOGD(ERROR, dss->domid, "invalid section: %d, expected: %d", id,
CHECKPOINT_SVM_READY);
goto out;
}
EGC_GC;
if (rc) {
- LOG(ERROR, "preresume fails");
+ LOGD(ERROR, dss->domid, "preresume fails");
goto out;
}
if (css->qdisk_used && !css->qdisk_setuped) {
if (libxl__qmp_start_replication(gc, dss->domid, true)) {
- LOG(ERROR, "starting replication fails");
+ LOGD(ERROR, dss->domid, "starting replication fails");
goto out;
}
css->qdisk_setuped = true;
if (!css->paused) {
if (libxl__qmp_do_checkpoint(gc, dss->domid)) {
- LOG(ERROR, "doing checkpoint fails");
+ LOGD(ERROR, dss->domid, "doing checkpoint fails");
goto out;
}
}
/* Resumes the domain and the device model */
if (libxl__domain_resume(gc, dss->domid, /* Fast Suspend */1)) {
- LOG(ERROR, "cannot resume primary vm");
+ LOGD(ERROR, dss->domid, "cannot resume primary vm");
goto out;
}
if (css->paused) {
rc = libxl_domain_unpause(CTX, dss->domid);
if (rc) {
- LOG(ERROR, "cannot unpause primary vm");
+ LOGD(ERROR, dss->domid, "cannot unpause primary vm");
goto out;
}
css->paused = false;
EGC_GC;
if (id != CHECKPOINT_SVM_RESUMED) {
- LOG(ERROR, "invalid section: %d, expected: %d", id,
+ LOGD(ERROR, dss->domid, "invalid section: %d, expected: %d", id,
CHECKPOINT_SVM_RESUMED);
goto out;
}
EGC_GC;
if (status) {
- LOG(ERROR, "failed to wait for new checkpoint");
+ LOGD(ERROR, dss->domid, "failed to wait for new checkpoint");
colo_start_new_checkpoint(egc, &dss->cds, ERROR_FAIL);
return;
}
EGC_GC;
if (rc) {
- LOG(ERROR, "commit fails");
+ LOGD(ERROR, dss->domid, "commit fails");
goto out;
}
if (rc < 0) {
/* TODO: it may be a internal error, but we don't know */
- LOG(ERROR, "sending data fails");
+ LOGD(ERROR, dss->domid, "sending data fails");
ok = 0;
goto out;
}
if (rc < 0) {
/* TODO: it may be a internal error, but we don't know */
- LOG(ERROR, "reading data fails");
+ LOGD(ERROR, dss->domid, "reading data fails");
ok = 0;
goto out;
}