8.192. qemu-kvm

Updated qemu-kvm packages that fix several bugs and add various enhancements are now available for Red Hat Enterprise Linux 6.
KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel 64 systems. The qemu-kvm package provides the user-space component for running virtual machines using KVM.

Bug Fixes

BZ#1067576
Repeated creation of virtual machine (VM) image snapshots gradually increases the string size of the image filename. However, the number of characters in the filename strings for virtual VM images was previously limited to 1024. Consequently, when the size limit was reached, creating an image snapshot failed to be executed or the VM did not successfully boot. With this update, the filename string size limit has been increased to 4096, and the described problems only occur with an extremely high amount of snapshots.
BZ#1113917
Vendor-specific SCSI commands issued from a KVM guest did not reach the target device because QEMU regarded such commands as invalid. This bug has been fixed and vendor-specific SCSI commands are now properly propagated to the target device.
BZ#1092117
Previously, the bdrv_is_allocated() function returned "True" for unallocated sectors. Consequently, when performing live incremental migration, the disk size was in some cases considerably expanded due to unintended transfer of unallocated sectors beyond the end of the base image. With this update, the bdrv_is_allocated() returns "False" for unallocated sectors. As a result, the disk size no longer changes in the mentioned scenario.
BZ#1017858
When hot unplugging a virtual CPU (vCPU) from a guest using libvirt, the current Red Hat Enterprise Linux QEMU implementation does not remove the corresponding vCPU thread. Consequently, libvirt did not detect the vCPU count correctly after a vCPU was hot unplugged, and it was not possible to hot plug a vCPU after a hot unplug. In this update, information from QEMU is used to filter out inactive vCPU threads of disabled vCPUs, which allows libvirt to perform the hot plug.
BZ#1035162
The "dump-guest-memory" command did not correctly support memory compression, which caused crash dump files to take up excessive hard drive space. The memory compression of "dump-guest-memory" has now been fixed, and the crash dump files now have the expected size.
In addition, this update adds the following

Enhancements

BZ#1106420
The ioeventfd mechanism has been enabled in the virtio-scsi-pci controller. This allows QEMU to process I/O requests outside of the vCPU thread, which reduces the latency of submitting requests and improves single task throughput.
BZ#786407
A new device, virtio-rng, can be configured for guests, which makes the entropy from the host available to guests. By default, this information is sourced from the host's /dev/random file, but hardware random number generation (RNG) available on hosts can be used as the source as well.
BZ#826266
The dump-guest-memory.py script has been introduced into QEMU, which makes it possible to analyze a guest memory dump from the QEMU-KVM core in case of a guest kernel failure.
BZ#845667
KVM now supports the use of a virtualized Performance Monitoring Unit (vPMU). This allows users to run performance monitoring tools on Linux guests, as well as to perform a live guest migration while using PMU.
BZ#1006159, BZ#1097021
The qemu-img utility is now able to create images in the VHD and VHDX format, which can be used with the Microsoft Hyper-V hypervisor.
BZ#1007708
The support for version 3 of the Virtual Machine Disk (VMDK) format has been added to the qemu-img utility. This allows qemu-img to read image info and convert the format of VMDK3 image files.
Users of qemu-kvm are advised to upgrade to these updated packages, which fix these bugs and add these enhancement. After installing this update, shut down all running virtual machines. Once all virtual machines have shut down, start them again for this update to take effect.