mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 14:15:28 +00:00
Require at least one console for LXC domain
A domain without a console quietly dies soon after start, because we try to set /dev/null as a controlling TTY 2014-10-30 15:10:59.705+0000: 1: error : lxcContainerSetupFDs:283 : ioctl(TIOCSCTTY) failed: Inappropriate ioctl for device Report an error early instead of trying to start it. https://bugzilla.redhat.com/show_bug.cgi?id=1155410
This commit is contained in:
parent
7ead1a5d91
commit
44686f6523
@ -2093,7 +2093,9 @@ static int lxcContainerChild(void *data)
|
|||||||
if (virAsprintf(&ttyPath, "%s/%s.devpts/%s",
|
if (virAsprintf(&ttyPath, "%s/%s.devpts/%s",
|
||||||
LXC_STATE_DIR, vmDef->name, tty) < 0)
|
LXC_STATE_DIR, vmDef->name, tty) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
} else if (VIR_STRDUP(ttyPath, "/dev/null") < 0) {
|
} else {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
|
_("At least one tty is required"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1144,6 +1144,12 @@ int virLXCProcessStart(virConnectPtr conn,
|
|||||||
vm->def, NULL) < 0)
|
vm->def, NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
if (vm->def->nconsoles == 0) {
|
||||||
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
|
_("At least one PTY console is required"));
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < vm->def->nconsoles; i++) {
|
for (i = 0; i < vm->def->nconsoles; i++) {
|
||||||
char *ttyPath;
|
char *ttyPath;
|
||||||
if (vm->def->consoles[i]->source.type != VIR_DOMAIN_CHR_TYPE_PTY) {
|
if (vm->def->consoles[i]->source.type != VIR_DOMAIN_CHR_TYPE_PTY) {
|
||||||
|
Loading…
Reference in New Issue
Block a user