803f542a4b
- Update to libvirt 4.0.0 - Many incremental improvements and bug fixes, see http://libvirt.org/news.html - Dropped patches: 2d07f1f0-fix-storage-crash.patch, 69ed99c7-dom0-persistent.patch, 8599aedd-libvirt-guests-dom0-filter.patch, 0f33025a-virt-aa-helper-handle-more-disk-images.patch, b475a91b-add-virStringFilterChars-string-utility.patch, faec1958-lxc-set-hostname-based-on-container-name.patch, 2089ab21-netserver-close-clients-before-stopping-all-drivers.patch, fix-virt-aa-helper-profile.patch, suse-apparmor-signal.patch - Patches added to fix upstream bugs: 72adaf2f-revert-qemu-monitor-error-report.patch, 71d56a39-nodedev-fix-parse-PCI-address.patch - CVE-2018-5748, CVE-2017-5715, bsc#1071651 OBS-URL: https://build.opensuse.org/request/show/567780 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=661
61 lines
2.3 KiB
Diff
61 lines
2.3 KiB
Diff
commit 72adaf2f10509c3682f2c65ffad4176e00e5a2fb
|
|
Author: Michal Privoznik <mprivozn@redhat.com>
|
|
Date: Fri Jan 19 13:53:57 2018 +0100
|
|
|
|
Revert "qemu: monitor: do not report error on shutdown"
|
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1536461
|
|
|
|
This reverts commit aeda1b8c56dc58b0a413acc61bbea938b40499e1.
|
|
|
|
Problem is that we need mon->lastError to be set because it's
|
|
used all over the place. Also, there's nothing wrong with
|
|
reporting error if one occurred. I mean, if there's a thread
|
|
executing an API and which currently is talking on monitor it
|
|
definitely wants the error reported.
|
|
|
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
|
|
|
Index: libvirt-4.0.0/src/qemu/qemu_monitor.c
|
|
===================================================================
|
|
--- libvirt-4.0.0.orig/src/qemu/qemu_monitor.c
|
|
+++ libvirt-4.0.0/src/qemu/qemu_monitor.c
|
|
@@ -78,7 +78,6 @@ struct _qemuMonitor {
|
|
* < 0: an error occurred during the registration of @fd */
|
|
int watch;
|
|
int hasSendFD;
|
|
- int willhangup;
|
|
|
|
virDomainObjPtr vm;
|
|
|
|
@@ -716,10 +715,8 @@ qemuMonitorIO(int watch, int fd, int eve
|
|
if (events & VIR_EVENT_HANDLE_HANGUP) {
|
|
hangup = true;
|
|
if (!error) {
|
|
- if (!mon->willhangup) {
|
|
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
|
- _("End of file from qemu monitor"));
|
|
- }
|
|
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
|
+ _("End of file from qemu monitor"));
|
|
eof = true;
|
|
events &= ~VIR_EVENT_HANDLE_HANGUP;
|
|
}
|
|
@@ -758,7 +755,7 @@ qemuMonitorIO(int watch, int fd, int eve
|
|
if (mon->lastError.code != VIR_ERR_OK) {
|
|
/* Already have an error, so clear any new error */
|
|
virResetLastError();
|
|
- } else if (!mon->willhangup) {
|
|
+ } else {
|
|
virErrorPtr err = virGetLastError();
|
|
if (!err)
|
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
|
@@ -1352,7 +1349,6 @@ qemuMonitorEmitShutdown(qemuMonitorPtr m
|
|
{
|
|
int ret = -1;
|
|
VIR_DEBUG("mon=%p guest=%u", mon, guest);
|
|
- mon->willhangup = 1;
|
|
|
|
QEMU_MONITOR_CALLBACK(mon, ret, domainShutdown, mon->vm, guest);
|
|
return ret;
|