Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: cae41fda0f22b31f873fdc3e916f4d2580dedb09 https://github.com/qemu/qemu/commit/cae41fda0f22b31f873fdc3e916f4d2580dedb09 Author: Gerd Hoffmann <kra...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016)
Changed paths: M pc-bios/bios-256k.bin M pc-bios/bios.bin M pc-bios/vgabios-cirrus.bin M pc-bios/vgabios-qxl.bin M pc-bios/vgabios-stdvga.bin M pc-bios/vgabios-virtio.bin M pc-bios/vgabios-vmware.bin M pc-bios/vgabios.bin M roms/seabios Log Message: ----------- seabios: update to 1.10.1 stable release git shortlog rel-1.10.0..rel-1.10.1 =================================== Igor Mammedov (1): drop "etc/boot-cpus" fw_cfg file and reuse legacy QEMU_CFG_NB_CPUS Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Commit: ecdbead659f037dc572bba9eb1cd31a5a1a9ad9a https://github.com/qemu/qemu/commit/ecdbead659f037dc572bba9eb1cd31a5a1a9ad9a Author: Eric Blake <ebl...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M block/qcow2.c Log Message: ----------- qcow2: Inform block layer about discard boundaries At the qcow2 layer, discard is only possible on a per-cluster basis; at the moment, qcow2 silently rounds any unaligned requests to this granularity. However, an upcoming patch will fix a regression in the block layer ignoring too much of an unaligned discard request, by changing the block layer to break up a discard request at alignment boundaries; for that to work, the block layer must know about our limits. However, we can't go one step further by changing qcow2_discard_clusters() to assert that requests are always aligned, since that helper function is reached on paths outside of the block layer. CC: qemu-sta...@nongnu.org Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Max Reitz <mre...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: b2f95feec5e4d546b932848dd421ec3361e8ef77 https://github.com/qemu/qemu/commit/b2f95feec5e4d546b932848dd421ec3361e8ef77 Author: Eric Blake <ebl...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M block/io.c Log Message: ----------- block: Let write zeroes fallback work even with small max_transfer Commit 443668ca rewrote the write_zeroes logic to guarantee that an unaligned request never crosses a cluster boundary. But in the rewrite, the new code assumed that at most one iteration would be needed to get to an alignment boundary. However, it is easy to trigger an assertion failure: the Linux kernel limits loopback devices to advertise a max_transfer of only 64k. Any operation that requires falling back to writes rather than more efficient zeroing must obey max_transfer during that fallback, which means an unaligned head may require multiple iterations of the write fallbacks before reaching the aligned boundaries, when layering a format with clusters larger than 64k atop the protocol of file access to a loopback device. Test case: $ qemu-img create -f qcow2 -o cluster_size=1M file 10M $ losetup /dev/loop2 /path/to/file $ qemu-io -f qcow2 /dev/loop2 qemu-io> w 7m 1k qemu-io> w -z 8003584 2093056 In fairness to Denis (as the original listed author of the culprit commit), the faulty logic for at most one iteration is probably all my fault in reworking his idea. But the solution is to restore what was in place prior to that commit: when dealing with an unaligned head or tail, iterate as many times as necessary while fragmenting the operation at max_transfer boundaries. Reported-by: Ed Swierk <eswi...@skyportsystems.com> CC: qemu-sta...@nongnu.org CC: Denis V. Lunev <d...@openvz.org> Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Max Reitz <mre...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 49228d1e95e1be879c57f5dbccb44405670e343d https://github.com/qemu/qemu/commit/49228d1e95e1be879c57f5dbccb44405670e343d Author: Eric Blake <ebl...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M block/iscsi.c M block/qcow2.c M block/sheepdog.c Log Message: ----------- block: Return -ENOTSUP rather than assert on unaligned discards Right now, the block layer rounds discard requests, so that individual drivers are able to assert that discard requests will never be unaligned. But there are some ISCSI devices that track and coalesce multiple unaligned requests, turning it into an actual discard if the requests eventually cover an entire page, which implies that it is better to always pass discard requests as low down the stack as possible. In isolation, this patch has no semantic effect, since the block layer currently never passes an unaligned request through. But the block layer already has code that silently ignores drivers that return -ENOTSUP for a discard request that cannot be honored (as well as drivers that return 0 even when nothing was done). But the next patch will update the block layer to fragment discard requests, so that clients are guaranteed that they are either dealing with an unaligned head or tail, or an aligned core, making it similar to the block layer semantics of write zero fragmentation. CC: qemu-sta...@nongnu.org Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Max Reitz <mre...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: 3482b9bc411a9a12b2efde1018e1ddc906cd817e https://github.com/qemu/qemu/commit/3482b9bc411a9a12b2efde1018e1ddc906cd817e Author: Eric Blake <ebl...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M block/io.c Log Message: ----------- block: Pass unaligned discard requests to drivers Discard is advisory, so rounding the requests to alignment boundaries is never semantically wrong from the data that the guest sees. But at least the Dell Equallogic iSCSI SANs has an interesting property that its advertised discard alignment is 15M, yet documents that discarding a sequence of 1M slices will eventually result in the 15M page being marked as discarded, and it is possible to observe which pages have been discarded. Between commits 9f1963b and b8d0a980, we converted the block layer to a byte-based interface that ultimately ignores any unaligned head or tail based on the driver's advertised discard granularity, which means that qemu 2.7 refuses to pass any discard request smaller than 15M down to the Dell Equallogic hardware. This is a slight regression in behavior compared to earlier qemu, where a guest executing discards in power-of-2 chunks used to be able to get every page discarded, but is now left with various pages still allocated because the guest requests did not align with the hardware's 15M pages. Since the SCSI specification says nothing about a minimum discard granularity, and only documents the preferred alignment, it is best if the block layer gives the driver every bit of information about discard requests, rather than rounding it to alignment boundaries early. Rework the block layer discard algorithm to mirror the write zero algorithm: always peel off any unaligned head or tail and manage that in isolation, then do the bulk of the request on an aligned boundary. The fallback when the driver returns -ENOTSUP for an unaligned request is to silently ignore that portion of the discard request; but for devices that can pass the partial request all the way down to hardware, this can result in the hardware coalescing requests and discarding aligned pages after all. Reported by: Peter Lieven <p...@kamp.de> CC: qemu-sta...@nongnu.org Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Max Reitz <mre...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Commit: b85f9dfdb156ae2a2a52f39a36e9f1f270614cd2 https://github.com/qemu/qemu/commit/b85f9dfdb156ae2a2a52f39a36e9f1f270614cd2 Author: Jan Beulich <jbeul...@suse.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M xen-hvm.c Log Message: ----------- xen: fix ioreq handling Avoid double fetches and bounds check size to avoid overflowing internal variables. This is CVE-2016-9381 / XSA-197. Reported-by: yanghongke <yanghon...@huawei.com> Signed-off-by: Jan Beulich <jbeul...@suse.com> Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> Signed-off-by: Stefano Stabellini <sstabell...@kernel.org> Commit: 873d57abbaa2225b66d0c54b5040242e749ddf28 https://github.com/qemu/qemu/commit/873d57abbaa2225b66d0c54b5040242e749ddf28 Author: Juergen Gross <jgr...@suse.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M hw/xen/xen_backend.c M include/hw/xen/xen_backend.h Log Message: ----------- xen: add an own bus for xen backend devices Add a bus for Xen backend devices in order to be able to establish a dedicated device path for pluggable devices. Signed-off-by: Juergen Gross <jgr...@suse.com> Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> Signed-off-by: Stefano Stabellini <sstabell...@kernel.org> Commit: ce49b734b4e2a3cc13dc4e11742c0813f1479145 https://github.com/qemu/qemu/commit/ce49b734b4e2a3cc13dc4e11742c0813f1479145 Author: Juergen Gross <jgr...@suse.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M include/monitor/qdev.h M qdev-monitor.c Log Message: ----------- qdev: add function qdev_set_id() In order to have an easy way to add a new qdev with a specific id carve out the needed functionality from qdev_device_add() into a new function qdev_set_id(). Signed-off-by: Juergen Gross <jgr...@suse.com> Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> Signed-off-by: Stefano Stabellini <sstabell...@kernel.org> Commit: 3a6c9172ac5951e6dac2b3f6cbce3cfccdec5894 https://github.com/qemu/qemu/commit/3a6c9172ac5951e6dac2b3f6cbce3cfccdec5894 Author: Juergen Gross <jgr...@suse.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M hw/xen/xen_backend.c M hw/xen/xen_pvdev.c M include/hw/xen/xen_backend.h M include/hw/xen/xen_pvdev.h Log Message: ----------- xen: create qdev for each backend device Create a qdev plugged to the xen-sysbus for each new backend device. This device can be used as a parent for all needed devices of that backend. The id of the new device will be "xen-<type>-<dev>" with <type> being the xen backend type (e.g. "qdisk") and <dev> the xen backend number of the type under which it is to be found in xenstore. Signed-off-by: Juergen Gross <jgr...@suse.com> Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> Signed-off-by: Stefano Stabellini <sstabell...@kernel.org> Commit: f1784a222eed213ce3213f431bc2f9c570f20c3e https://github.com/qemu/qemu/commit/f1784a222eed213ce3213f431bc2f9c570f20c3e Author: Juergen Gross <jgr...@suse.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M hw/usb/xen-usb.c Log Message: ----------- xen: attach pvusb usb bus to backend qdev Attach the usb bus of a new pvusb controller to the qdev associated with the Xen backend. Any device connected to that controller can now specify the bus and port directly via its properties. Signed-off-by: Juergen Gross <jgr...@suse.com> Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> Signed-off-by: Stefano Stabellini <sstabell...@kernel.org> Commit: 5167dff8c7f68fae9526900a12e4feafe586b6f1 https://github.com/qemu/qemu/commit/5167dff8c7f68fae9526900a12e4feafe586b6f1 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M pc-bios/bios-256k.bin M pc-bios/bios.bin M pc-bios/vgabios-cirrus.bin M pc-bios/vgabios-qxl.bin M pc-bios/vgabios-stdvga.bin M pc-bios/vgabios-virtio.bin M pc-bios/vgabios-vmware.bin M pc-bios/vgabios.bin M roms/seabios Log Message: ----------- Merge remote-tracking branch 'kraxel/tags/pull-seabios-20161122-1' into staging seabios: update to 1.10.1 stable release # gpg: Signature made Tue 22 Nov 2016 09:12:39 AM GMT # gpg: using RSA key 0x4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kra...@redhat.com>" # gpg: aka "Gerd Hoffmann <g...@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kra...@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * kraxel/tags/pull-seabios-20161122-1: seabios: update to 1.10.1 stable release Message-id: 1479806144-25599-1-git-send-email-kra...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 76989f4ffa0a7f3dd3d102b37a561912ceed3149 https://github.com/qemu/qemu/commit/76989f4ffa0a7f3dd3d102b37a561912ceed3149 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M block/io.c M block/iscsi.c M block/qcow2.c M block/sheepdog.c Log Message: ----------- Merge remote-tracking branch 'kwolf/tags/for-upstream' into staging Block layer patches for 2.8.0-rc1 # gpg: Signature made Tue 22 Nov 2016 03:55:38 PM GMT # gpg: using RSA key 0x7F09B272C88F2FD6 # gpg: Good signature from "Kevin Wolf <kw...@redhat.com>" # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6 * kwolf/tags/for-upstream: block: Pass unaligned discard requests to drivers block: Return -ENOTSUP rather than assert on unaligned discards block: Let write zeroes fallback work even with small max_transfer qcow2: Inform block layer about discard boundaries Message-id: 1479830693-26676-1-git-send-email-kw...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 01d7d15ce31ffb625ae6cf6ea295ecdad8456365 https://github.com/qemu/qemu/commit/01d7d15ce31ffb625ae6cf6ea295ecdad8456365 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M hw/usb/xen-usb.c M hw/xen/xen_backend.c M hw/xen/xen_pvdev.c M include/hw/xen/xen_backend.h M include/hw/xen/xen_pvdev.h M include/monitor/qdev.h M qdev-monitor.c M xen-hvm.c Log Message: ----------- Merge remote-tracking branch 'sstabellini/tags/xen-20161122-tag' into staging Xen 2016/11/22 # gpg: Signature made Tue 22 Nov 2016 06:41:23 PM GMT # gpg: using RSA key 0x894F8F4870E1AE90 # gpg: Good signature from "Stefano Stabellini <sstabell...@kernel.org>" # gpg: aka "Stefano Stabellini <stefano.stabell...@eu.citrix.com>" # Primary key fingerprint: D04E 33AB A51F 67BA 07D3 0AEA 894F 8F48 70E1 AE90 * sstabellini/tags/xen-20161122-tag: xen: attach pvusb usb bus to backend qdev xen: create qdev for each backend device qdev: add function qdev_set_id() xen: add an own bus for xen backend devices xen: fix ioreq handling Message-id: alpine.DEB.2.10.1611221037010.21858@sstabellini-ThinkPad-X260 Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 00227fefd2059464cd2f59aed29944874c630e2f https://github.com/qemu/qemu/commit/00227fefd2059464cd2f59aed29944874c630e2f Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2016-11-22 (Tue, 22 Nov 2016) Changed paths: M VERSION Log Message: ----------- Update version for v2.8.0-rc1 release Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Compare: https://github.com/qemu/qemu/compare/a7764f1548ef...00227fefd205