mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
qemu: Use log output for pty assignment if 'info chardev' is unavailable
qemudFindCharDevicePTYsMonitor reports an error if 'info chardev' didn't provide information for a requested device, even if the log output parsing had found the pty path for that device. This makes pty assignment fail for older QEMU/KVM versions. For example KVM 72 on Debian doesn't support 'info chardev', so qemuMonitorTextGetPtyPaths cannot parse any useful information and the hash for device-id-to-pty-path mapping stays empty. Make qemudFindCharDevicePTYsMonitor report an error only if the log output parsing and the 'info chardev' parsing failed to provide the pty path.
This commit is contained in:
parent
c2c4d51b2f
commit
a0356bcc41
@ -1428,9 +1428,17 @@ qemudFindCharDevicePTYsMonitor(virConnectPtr conn,
|
||||
\
|
||||
const char *path = (const char *) virHashLookup(paths, id); \
|
||||
if (path == NULL) { \
|
||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,\
|
||||
_("no assigned pty for device %s"), id); \
|
||||
return -1; \
|
||||
if (chr->data.file.path == NULL) { \
|
||||
/* neither the log output nor 'info chardev' had a */ \
|
||||
/* pty path for this chardev, report an error */ \
|
||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, \
|
||||
_("no assigned pty for device %s"), id); \
|
||||
return -1; \
|
||||
} else { \
|
||||
/* 'info chardev' had no pty path for this chardev, */\
|
||||
/* but the log output had, so we're fine */ \
|
||||
continue; \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
VIR_FREE(chr->data.file.path); \
|
||||
|
Loading…
x
Reference in New Issue
Block a user