Chapter 15. Virtualization

kdump now works correctly with crashes caused in an interrupt context on Hyper-V

Previously, if a system crash was triggered in an interrupt context, the kdump utility was not able to capture the memory dump on guest virtual machines running on the Microsoft Hyper-V hypervisor. This update prevents the guest kernel from performing redundant tasks during the guest shutdown process caused by a crash. As a result, kdump can create a memory dump correctly in the described scenario. (BZ#1301903)

virt-what now detects IBM POWER LPARs

Previously, the virt-what utility did not recognize if the current system was running in an IBM POWER logical partition (LPAR). As a result, the subscription-manager utility displayed misleading licensing information for guest virtual machines running in an IBM POWER LPAR. With this update, virt-what was fixed and can now detect when the guest virtual machine is running in an IBM POWER LPAR. As a result, subscription-manager now provides correct subscription information in this scenario. (BZ#1312431)

Unaligned block I/O requests are now correctly detected

Previously, the length of all elements of the scatter/gather list of block I/O requests was not checked to be aligned according to the required alignment of a backing storage. As a result, in some configurations, notably when cache is set to none, guests issuing I/O requests with at least one element in the scatter/gather list that has an unaligned length would get I/O errors. With this update, QEMU now checks the length of all elements, in addition to the base address, and determines whether or not requests are correctly aligned. Consequently, unaligned requests are correctly detected, QEMU uses a correctly aligned bounce buffer for I/O, and the request can be completed successfully. (BZ#1321862)

All bridge network interfaces are now listed for new devices in virtual machines

Previously, not all bridge network interfaces were listed when a device was added to a virtual machine. With this update, all bridge network interfaces are properly detected using data provided by the libvirt service. As a result, all bridge network interfaces known to libvirt are listed when a device is added to a virtual machine. (BZ#1333290)

Network connectivity maintained when using rtl8139 device emulation

Previously, when using rtl8139 device emulation, the virtual device sometimes disabled packet reception. As a consequence, network connectivity was lost. With this update, the issue was resolved, and network connectivity is maintained. (BZ#1356924)

Quiescing disks after virtual disk migration no longer causes the guest to stop responding

When a high number of virtual disk migrations was active at the same time, the guest virtual machine in some cases became unresponsive, because the QEMU service was attempting to quiesce all disks on the guest. With this update, QEMU only quiesces the source disk whose migration is finishing, which prevents the problem from occurring. (BZ#876993)

-S 0 for qemu-img convert now works correctly

Previously, specifying the -S 0 option with qemu-img convert did not always explicitly write zeroes to all sparse areas in the output file. As a result, running qemu-img convert -S 0 did not always result in a fully allocated output file. With this update, the command has been fixed, and running qemu-img convert -S 0 always results in a fully allocated output file.
Note that the qcow2 format offers a different preallocation option which can convert images to fully allocated output files faster than using the -S 0 option. However, with other formats, this can only be achieved with the -S 0 option. (BZ#1297653)

Booting guests with multiple FC adapters on Hyper-V no longer causes a critical error

When booting a guest virtual machine that uses multiple virtual Fiber Channel (FC) adapters on the Microsoft Hyper-V hypervisor, the guest in some cases encountered a critical error. With this update, the storsvc driver correctly updates the reference count when loading an FC adapter, which prevents the described problem from occurring. (BZ#1316861)

Kernel memory dumps can now be captured when crashes occur on secondary CPUs

Previously, the wrong non-maskable interrupt (NMI) status was reported by Hyper-V hosts for Generation 2 guests. As a result, when a crash happened on a secondary CPU, it was not possible to capture a kernel memory dump. With this update, upstream patches were applied to avoid reading incorrect NMI statuses for Hyper-V Generation 2 guests. The kdump utility now works properly, regardless of the CPU that caused the crash. (BZ#1320215)

Unloading the hv_utils module no longer causes crashes

Previously, a bug in the hv_utils module was causing the kernel to crash when the module was removed shortly after loading. With this update, an upstream patch fixing the module unload path was applied to address the bug. As a result, unloading the hv_utils module no longer causes crashes. (BZ#1321259)

Localized virt-manager texts are all correctly translated

Previously, some of the texts in virt-manager were not translated. With this update, all texts in virt-manager are correctly translated. (BZ#1321729)

Unloading the storvsc module no longer causes kernel crashes for Hyper-V guests

Previously, a race condition in the kernel caused sporadic kernel crashes when the storvsc module was unloaded and then reloaded on Hyper-V guests. With this update, a fix was applied to the kernel SCSI code to eliminate the race condition. As a result, unloading the storvsc module no longer causes kernel crashes for Hyper-V guests. (BZ#1343105)

Creating bridge network interfaces from bond network interface in virt-manager now works as expected

When using the virt-manager interface to create a bridge network interface from existing bond network interfaces, the bond network configuration file became corrupted and configuration files for slave network interfaces on the guest virtual machine were deleted.
With this update, when creating a bridge network interface, the python-virtinst service creates an XML definition of the interface, with specification of interfaces that are included in the bridge. As a result, creating a bridge network interface in the described scenario is more reliable, and does not cause the virtual network to stop working. (BZ#1350683)

libguestfs now identifies operating systems in virtual machines where /usr/ is not in the same partition as /

Previously, libguestfs did not recognize guest operating systems where the /usr/ directory was not in the same partition as /. As a result, libguestfs tools such as virt-sysprep did not perform as expected. With this update, libguestfs recognizes guest operating systems even when the /usr/ directory is not located in the same partition as /. Consequently, libguestfs tools such as virt-sysprep perform as expected. (BZ#1388407)

Windows 8 virtual machines now shut down properly

Previously, when powering down a Windows 8 guest virtual machine with an 32-bit AMD and Intel architecture processor, the virtual machine became unresponsive on the Shutting Down screen. With the update of virtio and qxl drivers, this has been fixed. Consequently, the shutdown process finishes as expected. (BZ#1271469)