qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 717086: s390/virtio-ccw: Fix virtio reset


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 717086: s390/virtio-ccw: Fix virtio reset
Date: Tue, 27 Aug 2013 08:30:11 -0700

  Branch: refs/heads/stable-1.5
  Home:   https://github.com/qemu/qemu
  Commit: 717086d0e899c388e3f544ad0954131b69d804d1
      
https://github.com/qemu/qemu/commit/717086d0e899c388e3f544ad0954131b69d804d1
  Author: Christian Borntraeger <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M hw/s390x/virtio-ccw.c

  Log Message:
  -----------
  s390/virtio-ccw: Fix virtio reset

On virtio reset we must reset the indicator to avoid stale interrupts,
e.g. after a reset.

Signed-off-by: Christian Borntraeger <address@hidden>
Cc: address@hidden
Signed-off-by: Cornelia Huck <address@hidden>
(cherry picked from commit 6504a93011138458a2e4f67b513c5a77bdb3cae1)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 4bf0901ff883c805adce6f7f159128b4aa993f65
      
https://github.com/qemu/qemu/commit/4bf0901ff883c805adce6f7f159128b4aa993f65
  Author: Peter Maydell <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M hw/arm/boot.c

  Log Message:
  -----------
  arm/boot: Free dtb blob memory after use

The dtb blob returned by load_device_tree() is in memory allocated
with g_malloc(). Free it accordingly once we have copied its
contents into the guest memory. To make this easy, we need also to
clean up the error handling in load_dtb() so that we consistently
handle errors in the same way (by printing a message and then
returning -1, rather than either plowing on or exiting immediately).

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Message-id: address@hidden
(cherry picked from commit c23045ded7571f0eaad95920ab00b6bc9c3a91e6)

Conflicts:

        hw/arm/boot.c

* updated to include #ifdef for CONFIG_FDT

Signed-off-by: Michael Roth <address@hidden>


  Commit: 208ddea6b51c313a452ab0d2a13f0c2e601b6f48
      
https://github.com/qemu/qemu/commit/208ddea6b51c313a452ab0d2a13f0c2e601b6f48
  Author: Hervé Poussineau <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M target-ppc/translate_init.c

  Log Message:
  -----------
  ppc: do not register IABR SPR twice for 603e

IABR SPR is already registered in gen_spr_603(), called from init_proc_603E().

Signed-off-by: Hervé Poussineau <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
(cherry picked from commit 9fea2ae25080ad790d7d904d01a1300a45a634eb)

Signed-off-by: Michael Roth <address@hidden>


  Commit: a678b16bb3967dcee88e30aa2e345dcaca3fb7a7
      
https://github.com/qemu/qemu/commit/a678b16bb3967dcee88e30aa2e345dcaca3fb7a7
  Author: Anthony PERARD <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M hw/display/qxl.c

  Log Message:
  -----------
  qxl: Fix QXLRam initialisation.

The qxl driver expect NULL for QXLRam.memory_configs, but this is never
initialized.

If memory is set to 0xc2c2.., it leads to a spice-critical error when
trying to start qxl.

Signed-off-by: Anthony PERARD <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
(cherry picked from commit 329f97fc4ff4b533fcd2d8f4eab6c9c2568aed27)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 1e3043a702caea8ab6ffbfff6e273d6a3f88c1e7
      
https://github.com/qemu/qemu/commit/1e3043a702caea8ab6ffbfff6e273d6a3f88c1e7
  Author: KONRAD Frederic <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M hw/pci/pci-hotplug.c

  Log Message:
  -----------
  virtio-scsi: forward scsibus for virtio-scsi-pci.

This fix a bug with scsi hotplug on virtio-scsi-pci:

As virtio-scsi-pci doesn't have any scsi bus, we need to forward scsi-hot-add
to the virtio-scsi-device plugged on the virtio-bus.

Cc: address@hidden
Reported-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Signed-off-by: KONRAD Frederic <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 820508eea686e47c4be880a7752c6b7b8f74e425
      
https://github.com/qemu/qemu/commit/820508eea686e47c4be880a7752c6b7b8f74e425
  Author: Markus Armbruster <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M util/acl.c

  Log Message:
  -----------
  acl: acl_add can't insert before last list element, fix

Watch this:

    $ upstream-qemu -nodefaults -S -vnc :0,acl,sasl -monitor stdio
    QEMU 1.5.50 monitor - type 'help' for more information
    (qemu) acl_add vnc.username drei allow
    acl: added rule at position 1
    (qemu) acl_show vnc.username
    policy: deny
    1: allow drei
    (qemu) acl_add vnc.username zwei allow 1
    acl: added rule at position 2
    (qemu) acl_show vnc.username
    policy: deny
    1: allow drei
    2: allow zwei
    (qemu) acl_add vnc.username eins allow 1
    acl: added rule at position 1
    (qemu) acl_show vnc.username
    policy: deny
    1: allow eins
    2: allow drei
    3: allow zwei

The second acl_add inserts at position 2 instead of 1.

Root cause is an off-by-one in qemu_acl_insert(): when index ==
acl->nentries, it appends instead of inserting before the last list
element.

Cc: address@hidden
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
(cherry picked from commit 4999f3a8a6009de05ba82e58e723277917f16254)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 045ccf7056e1451660231881d37fa37bbe0a3a3c
      
https://github.com/qemu/qemu/commit/045ccf7056e1451660231881d37fa37bbe0a3a3c
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M hw/usb/host-libusb.c

  Log Message:
  -----------
  usb-host-libusb: set USB_DEV_FLAG_IS_HOST

... like host-{linux,bsd}.c do.

Cc: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
(cherry picked from commit 628e54857a82a3cb65ef96c12640c30d6307a064)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 5e2053dd159bf979a266f0a615a5d821a58bd06b
      
https://github.com/qemu/qemu/commit/5e2053dd159bf979a266f0a615a5d821a58bd06b
  Author: Christian Borntraeger <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M hw/s390x/ipl.c

  Log Message:
  -----------
  s390/ipl: Fix boot order

The latest ipl code adaptions collided with some of the virtio
refactoring rework. This resulted in always booting the first
disk. Let's fix booting from a given ID.
The new code also checks for command lines without bootindex to
avoid random behaviour when accessing dev_st (==0).

Signed-off-by: Christian Borntraeger <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
(cherry picked from commit 5c8ded6ef55761e80353f42d8e59c6e233a2f51a)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 89ca606d49d15c1e582600588b5ec0145ca3b078
      
https://github.com/qemu/qemu/commit/89ca606d49d15c1e582600588b5ec0145ca3b078
  Author: Ronnie Sahlberg <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  Fix iSCSI crash on SG_IO with an iovector

Don't assume that SG_IO is always invoked with a simple buffer,
check the iovec_count and if it is >= 1 then we need to pass an array
of iovectors to libiscsi instead of just a plain buffer.

Signed-off-by: Ronnie Sahlberg <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 0a53f010745635c39a83756a948df60a84e88fe5)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 90ce84993a1590074ce9b866ca389bb40b4f13b7
      
https://github.com/qemu/qemu/commit/90ce84993a1590074ce9b866ca389bb40b4f13b7
  Author: Richard W.M. Jones <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block/ssh.c

  Log Message:
  -----------
  block/ssh: Set bdrv_has_zero_init according to the file type.

If the remote is a regular file, set it to true (ie. reads of
uninitialized areas in a newly created file will return zeroes).
If we can't prove that, return false (a safe default).

Tested by adding a debugging print statement [not part of this commit]
and creating a remote file and a remote block device:

  $ ./qemu-img create ssh://localhost/tmp/new 100M
  Formatting 'ssh://localhost/tmp/new', fmt=raw size=104857600
  filename ssh://localhost/tmp/new: has_zero_init = 1
  $ sudo lvcreate -L 1G -n tmp /dev/fedora
    Logical volume "tmp" created
  $ ./qemu-img create ssh://localhost/dev/fedora/tmp 1G
  Formatting 'ssh://localhost/dev/fedora/tmp', fmt=raw size=1073741824
  filename ssh://localhost/dev/fedora/tmp: has_zero_init = 0

Cc: Kevin Wolf <address@hidden>
Cc: address@hidden
Signed-off-by: Richard W.M. Jones <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 0b3f21e6a99c025c829d342ee417f317fe2e03b2)

Signed-off-by: Michael Roth <address@hidden>


  Commit: eedc9f46cfae88428e31e809e396eacc5d800a4f
      
https://github.com/qemu/qemu/commit/eedc9f46cfae88428e31e809e396eacc5d800a4f
  Author: Kevin Wolf <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block/gluster.c

  Log Message:
  -----------
  gluster: Return bdrv_has_zero_init = 0

GlusterFS volumes can be backed by block devices, in which case
bdrv_create() doesn't make sure that the image is zeroed out. It is
currently not possibly to detect whether a given image is backed by a
file or a block device, and incorrectly assuming that it is zeroed
corrupts images during qemu-img convert, so let's err on the side of
caution and always return 0.

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 8ab6feec2c7500faafd9a4571fb40d03dd360a64)

Signed-off-by: Michael Roth <address@hidden>


  Commit: d306fd5f4ad5f0f168271a77d114931db7a337ea
      
https://github.com/qemu/qemu/commit/d306fd5f4ad5f0f168271a77d114931db7a337ea
  Author: Fam Zheng <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block/vmdk.c

  Log Message:
  -----------
  vmdk: remove wrong calculation of relative path

When creating image with backing file, the driver tries to calculate the
relative path from created image file to backing file, but the path
computation is incorrect. e.g.:

    $ qemu-img create -f vmdk -b vmdk-data-disk.vmdk vmdk-data-snapshot1
    Formatting 'vmdk-data-snapshot1', fmt=vmdk size=10737418240
    backing_file='vmdk-data-disk.vmdk' compat6=off zeroed_grain=off

    $ qemu-img info vmdk-data-snapshot1
    image: vmdk-data-snapshot1
    file format: vmdk
    virtual size: 10G (10737418240 bytes)
    disk size: 12K
->  backing file: disk.vmdk

The common part in file names, "vmdk-data-", is incorrectly forgotten by
relative_path(). As the VMDK specification has no restriction on
parentNameHint to be relative path, we simply remove this by using the
backing_file option.

Cc: address@hidden
Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 8ed610a1c983dd2ed1eed8841036af55751d115f)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 64a72fa71fd2b9720c8b70726521c39bdd2c0ea9
      
https://github.com/qemu/qemu/commit/64a72fa71fd2b9720c8b70726521c39bdd2c0ea9
  Author: Peter Lieven <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M arch_init.c

  Log Message:
  -----------
  Revert "migration: do not sent zero pages in bulk stage"

Not sending zero pages breaks migration if a page is zero
at the source but not at the destination. This can e.g. happen
if different BIOS versions are used at source and destination.
It has also been reported that migration on pseries is completely
broken with this patch.

This effectively reverts commit f1c72795af573b24a7da5eb52375c9aba8a37972.

Conflicts:

        arch_init.c

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>
(cherry picked from commit 9ef051e5536b6368a1076046ec6c4ec4ac12b5c6)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 9f60383b4173c34772251446b0ab83b5c7152f16
      
https://github.com/qemu/qemu/commit/9f60383b4173c34772251446b0ab83b5c7152f16
  Author: Peter Lieven <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M arch_init.c

  Log Message:
  -----------
  migration: do not overwrite zero pages

on incoming migration do not memset pages to zero if they already read as zero.
this will allocate a new zero page and consume memory unnecessarily. even
if we madvise a MADV_DONTNEED later this will only deallocate the memory
asynchronously.

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>
(cherry picked from commit 211ea74022f51164a7729030b28eec90b6c99a08)

Signed-off-by: Michael Roth <address@hidden>


  Commit: f7fe3d2f7733648b6f0d36e617180622634fe00e
      
https://github.com/qemu/qemu/commit/f7fe3d2f7733648b6f0d36e617180622634fe00e
  Author: Kevin Wolf <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  raw-posix: Fix /dev/cdrom magic on OS X

The raw-posix driver has code to provide a /dev/cdrom on OS X even
though it doesn't really exist. However, since commit c66a6157 the real
filename is dismissed after finding it, so opening /dev/cdrom fails.
Put the filename back into the options QDict to make this work again.

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit a5c5ea3f60c000bf18c99435439533728a5f34a2)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 1eeacd413af165d672b474c5420a3877052b573a
      
https://github.com/qemu/qemu/commit/1eeacd413af165d672b474c5420a3877052b573a
  Author: Marcelo Tosatti <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M hw/i386/kvm/clock.c

  Log Message:
  -----------
  kvmclock: clock should count only if vm is running

kvmclock should not count while vm is paused, because:

1) if the vm is paused for long periods, timekeeping
math can overflow while converting the (large) clocksource
delta to nanoseconds.

2) Users rely on CLOCK_MONOTONIC to count run time, that is,
time which OS has been in a runnable state (see CLOCK_BOOTTIME).

Change kvmclock driver so as to save clock value when vm transitions
from runnable to stopped state, and to restore clock value from stopped
to runnable transition.

Cc: address@hidden
Signed-off-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Gleb Natapov <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 00f4d64ee76e873be881a82d893a591487aa7950)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 39b04be6ad88cd77ed87ac1f2fb5d38f3ae9fde6
      
https://github.com/qemu/qemu/commit/39b04be6ad88cd77ed87ac1f2fb5d38f3ae9fde6
  Author: Markus Armbruster <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M qemu-char.c

  Log Message:
  -----------
  qemu-char: Fix ID reuse after chardev-remove for qapi-based init

Commit 2c5f488 introduced qapi-based character device initialization
as a new code path in qemu_chr_new_from_opts().  Unfortunately, it
failed to store parameter opts in the new chardev.  Therefore,
qemu_chr_delete() doesn't delete it.  Even though the device is gone,
its options linger, and any attempt to create another one with the
same ID fails.

Cc: address@hidden
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 2ea3e2c1e85097c45a882dbc1fbba4a7fdb3ff1c)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 91d66fb4b9a1bd3c2186a3caf134c50a05c27c46
      
https://github.com/qemu/qemu/commit/91d66fb4b9a1bd3c2186a3caf134c50a05c27c46
  Author: Andreas Färber <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M target-cris/translate.c

  Log Message:
  -----------
  target-cris: gen_intermediate_code_internal() should be inlined

Cc: address@hidden
Reported-by: Richard Henderson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit 6f47ec50db92b4bc77de06661a9e7a3eb538b660)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 7d4d902a592a360be54118fde2799a562742a1e1
      
https://github.com/qemu/qemu/commit/7d4d902a592a360be54118fde2799a562742a1e1
  Author: Andreas Färber <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M target-lm32/translate.c

  Log Message:
  -----------
  target-lm32: gen_intermediate_code_internal() should be inlined

Cc: address@hidden
Reported-by: Richard Henderson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Acked-by: Michael Walle <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit 28014bcab244e968cb03f20384943494bd069ee0)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 032090210959c5e4c9348adb5f467815c6e263c0
      
https://github.com/qemu/qemu/commit/032090210959c5e4c9348adb5f467815c6e263c0
  Author: Andreas Färber <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M target-microblaze/translate.c

  Log Message:
  -----------
  target-microblaze: gen_intermediate_code_internal() should be inlined

Cc: address@hidden
Reported-by: Richard Henderson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit fd327f48f7e5892318b6dca2c9c6030618f65728)

Signed-off-by: Michael Roth <address@hidden>


  Commit: cbf70c2f271d4a5c423a0c5a8e0dba039c038b39
      
https://github.com/qemu/qemu/commit/cbf70c2f271d4a5c423a0c5a8e0dba039c038b39
  Author: Andreas Färber <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M target-moxie/translate.c

  Log Message:
  -----------
  target-moxie: gen_intermediate_code_internal() should be inlined

Cc: address@hidden
Reported-by: Richard Henderson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit 13cccc692818a570d1fb1326c84d3edae68987aa)

Signed-off-by: Michael Roth <address@hidden>


  Commit: b5bfb026e48f7f8427923b92d0de652728e6457c
      
https://github.com/qemu/qemu/commit/b5bfb026e48f7f8427923b92d0de652728e6457c
  Author: Andreas Färber <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M target-xtensa/translate.c

  Log Message:
  -----------
  target-xtensa: gen_intermediate_code_internal() should be inlined

Cc: address@hidden
Reported-by: Richard Henderson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit ae06d4988d6799f0bd16f27c2bcf80fa1cd2cfd7)

Signed-off-by: Michael Roth <address@hidden>


  Commit: f8cd6dfdd8baa86d59fba02dfad67a1cb0d5e235
      
https://github.com/qemu/qemu/commit/f8cd6dfdd8baa86d59fba02dfad67a1cb0d5e235
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: fix bdrv_flush() ordering in bdrv_close()

Since 80ccf93b we flush the block device during close.  The
bdrv_drain_all() call should come before bdrv_flush() to ensure guest
write requests have completed.  Otherwise we may miss pending writes
when flushing.

Call bdrv_drain_all() again for safety as the final step after
bdrv_flush().  This should not be necessary but we can be paranoid here
in case bdrv_flush() left I/O pending.

Cc: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
(cherry picked from commit 58fda173e1156d24e5ff62361774715152188a07)

Signed-off-by: Michael Roth <address@hidden>


  Commit: ed448b82bdbc0545c422b4a8acd2c29259755ee3
      
https://github.com/qemu/qemu/commit/ed448b82bdbc0545c422b4a8acd2c29259755ee3
  Author: Dongxue Zhang <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M target-openrisc/cpu.c

  Log Message:
  -----------
  target-openrisc: Fix typename in openrisc_cpu_class_by_name()

Commit 478032a93d908e59085c1ac56f10979942e7dc4f (target-openrisc:
Rename CPU subtypes) suffixed CPU sub-types with "-or32-cpu" but forgot
to update openrisc_cpu_class_by_name(), so that it was still looking for
the types without suffix.

Make target-openrisc running OK by adding the suffix to the model name.

This means it is no longer possible to use -cpu or1200-or32-cpu or
-cpu any-or32-cpu though.

Cc: address@hidden
Signed-off-by: Dongxue Zhang <address@hidden>
Tested-by: Jia Liu <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit 071b3364e7995036816aa4ebf80ecfa04b1a31de)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 9f8daa796bf402e6016f87e9bd32a78849bde4a7
      
https://github.com/qemu/qemu/commit/9f8daa796bf402e6016f87e9bd32a78849bde4a7
  Author: Peter Crosthwaite <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M qom/object.c

  Log Message:
  -----------
  qom: Fix class cast of NULL classes

Its clear from the implementation that class casting is supposed to work
with a NULL class argument. Guard all dereferences of the class argument
against NULL accordingly.

Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 9d6a3d58e4d1431ab3809ff621cfd1f9ec75eef5)

Signed-off-by: Michael Roth <address@hidden>


  Commit: a5d14facb1e4ef354b0a819e159e5f4564fbd15e
      
https://github.com/qemu/qemu/commit/a5d14facb1e4ef354b0a819e159e5f4564fbd15e
  Author: Paul Moore <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M qemu-seccomp.c

  Log Message:
  -----------
  seccomp: add the asynchronous I/O syscalls to the whitelist

In order to enable the asynchronous I/O functionality when using the
seccomp sandbox we need to add the associated syscalls to the
whitelist.

Signed-off-by: Paul Moore <address@hidden>
Reviewed-by: Corey Bryant <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit fd21faadb12669e24eaf0a277de61c24fcde4cac)

Signed-off-by: Michael Roth <address@hidden>


  Commit: aa83f2e4271de7710ad40bc2e103cf562639c173
      
https://github.com/qemu/qemu/commit/aa83f2e4271de7710ad40bc2e103cf562639c173
  Author: Luiz Capitulino <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M scripts/qapi-commands.py

  Log Message:
  -----------
  qapi: qapi-commands: fix possible leaks on visitor dealloc

In qmp-marshal.c the dealloc visitor calls use the same errp
pointer of the input visitor calls. This means that if any of
the input visitor calls fails, then the dealloc visitor will
return early, before freeing the object's memory.

Here's an example, consider this code:

int qmp_marshal_input_block_passwd(Monitor *mon, const QDict *qdict, QObject 
**ret)
{
        [...]

    char * device = NULL;
    char * password = NULL;

    mi = qmp_input_visitor_new_strict(QOBJECT(args));
    v = qmp_input_get_visitor(mi);
    visit_type_str(v, &device, "device", errp);
    visit_type_str(v, &password, "password", errp);
    qmp_input_visitor_cleanup(mi);

    if (error_is_set(errp)) {
  goto out;
    }
    qmp_block_passwd(device, password, errp);

out:
    md = qapi_dealloc_visitor_new();
    v = qapi_dealloc_get_visitor(md);
    visit_type_str(v, &device, "device", errp);
    visit_type_str(v, &password, "password", errp);
    qapi_dealloc_visitor_cleanup(md);

        [...]

    return 0;
}

Consider errp != NULL when the out label is reached, we're going
to leak device and password.

This patch fixes this by always passing errp=NULL for dealloc
visitors, meaning that we always try to free them regardless of
any previous failure. The above example would then be:

out:
    md = qapi_dealloc_visitor_new();
    v = qapi_dealloc_get_visitor(md);
    visit_type_str(v, &device, "device", NULL);
    visit_type_str(v, &password, "password", NULL);
    qapi_dealloc_visitor_cleanup(md);

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
(cherry picked from commit 8f91ad8a1b4702966d91ea58cd90bbde1faea1b3)

Signed-off-by: Michael Roth <address@hidden>


  Commit: e6f5128dcf6d116ae3c829fbc0bcafd91b38af81
      
https://github.com/qemu/qemu/commit/e6f5128dcf6d116ae3c829fbc0bcafd91b38af81
  Author: Kevin Wolf <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M hw/ide/ahci.c
    M hw/ide/core.c
    M hw/ide/internal.h

  Log Message:
  -----------
  ahci: Fix FLUSH command

AHCI couldn't cope with asynchronous commands that aren't doing DMA, it
simply wouldn't complete them. Due to the bug fixed in commit f68ec837,
FLUSH commands would seem to have completed immediately even if they
were still running on the host. After the commit, they would simply hang
and never unset the BSY bit, rendering AHCI unusable on any OS sending
flushes.

This patch adds another callback for the completion of asynchronous
commands. This is what AHCI really wants to use for its command
completion logic rather than an DMA completion callback.

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit a62eaa26c1d6d48fbdc3ac1d32bd1314f5fdc8c9)

Signed-off-by: Michael Roth <address@hidden>


  Commit: ff57f145c1a525183c45af4d21b395761e7b88a1
      
https://github.com/qemu/qemu/commit/ff57f145c1a525183c45af4d21b395761e7b88a1
  Author: Peter Lieven <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: fix -ENOSPC in iscsi_create()

the -ENOPSC case did not work due to the missing goto.

Reported-by: Kevin Wolf <address@hidden>
Signed-off-by: Peter Lieven <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit d3bda7bc166f40326ba646ee145630bb1b59da96)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 404fbe47437144a6eae4bf9eef32ac9a5a1ccaf6
      
https://github.com/qemu/qemu/commit/404fbe47437144a6eae4bf9eef32ac9a5a1ccaf6
  Author: Peter Lieven <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: remove support for misaligned nb_sectors in aio_readv

this hask is not working (anymore). support for misaligned offsets should
be handled at the block layer.

Signed-off-by: Peter Lieven <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 7e4d5a9f94a0d8485bf63e1f8256e0a0014495ab)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 7fbd2301a4b40d457fd5905733fff70c7115362b
      
https://github.com/qemu/qemu/commit/7fbd2301a4b40d457fd5905733fff70c7115362b
  Author: Peter Lieven <address@hidden>
  Date:   2013-08-12 (Mon, 12 Aug 2013)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: assert that sectors are aligned to LUN blocksize

if the blocksize of an iSCSI LUN is bigger than the BDRV_SECTOR_SIZE
it is possible that sector_num or nb_sectors are not correctly
aligned.

to avoid corruption we fail requests which are misaligned.

Signed-off-by: Peter Lieven <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 91bea4e2bb1a5f7954a3b3a4f2e28e96bd25c458)

Signed-off-by: Michael Roth <address@hidden>


  Commit: f8238453095565838c697ef2df38d291fe4e147a
      
https://github.com/qemu/qemu/commit/f8238453095565838c697ef2df38d291fe4e147a
  Author: Kevin Wolf <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M block.c
    M include/block/block.h

  Log Message:
  -----------
  block: Add return value for bdrv_flush_all()

bdrv_flush() can fail, and bdrv_flush_all() should return an error as
well if this happens for a block device. It returns the first error
return now, but still at least tries to flush the remaining devices even
in error cases.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit f0f0fdfeec6c67ad374114ecc4b3e3ccde5e94d2)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 32d1d7ff518a5fe3823dd831435be57e8b81a1d9
      
https://github.com/qemu/qemu/commit/32d1d7ff518a5fe3823dd831435be57e8b81a1d9
  Author: Kevin Wolf <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M cpus.c
    M include/sysemu/sysemu.h
    M stubs/vm-stop.c

  Log Message:
  -----------
  cpus: Add return value for vm_stop()

If flushing the block devices fails, return an error. The VM is stopped
anyway.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit 5698346391b306c2c84358c68ee897c095d714cc)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 685803fcf71c11c2ef8b9014b893c120dd00af25
      
https://github.com/qemu/qemu/commit/685803fcf71c11c2ef8b9014b893c120dd00af25
  Author: Kevin Wolf <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: Let vm_stop[_force_state]() always flush block devices

Even if the VM is already stopped, we cannot assume that all data has
already been successfully flushed to disk. The flush during the previous
vm_stop() could have failed.

Run bdrv_flush_all() unconditionally so that we get an error each time
if the block device isn't really flushed.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit 594a45ce64dbef1829996403506a1154eb2fd1cc)

Signed-off-by: Michael Roth <address@hidden>


  Commit: a561fcfed630c6a926f545ddcc20a0f31c65adf5
      
https://github.com/qemu/qemu/commit/a561fcfed630c6a926f545ddcc20a0f31c65adf5
  Author: Andreas Färber <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  megasas: Legacy command line handling fix

Only apply legacy command line handling when the device has not been
hot-plugged. Propagate failure of legacy command line handling.

Cc: address@hidden
Acked-by: Paolo Bonzini <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit 22d6aa03fd87ba5f219d26bc1810646d0f95842a)

Conflicts:

        hw/scsi/megasas.c

* modified to avoid dependency on fancy new upcast macros

Signed-off-by: Michael Roth <address@hidden>


  Commit: a95bc779f21b0330d5559518f49a80c6f4eb979f
      
https://github.com/qemu/qemu/commit/a95bc779f21b0330d5559518f49a80c6f4eb979f
  Author: Anthony Liguori <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  gtk: don't use g_object_unref on GdkCursor

It's not a GObject.

Cc: Gerd Hoffman <address@hidden>
Reported-by: Michael Tokarev <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>
---
v1 -> v2
 - Fix summary to agree with code (Peter)
(cherry picked from commit 171392406d8e230d62e5ebf4805f71460854b8ec)

Signed-off-by: Michael Roth <address@hidden>


  Commit: f3249bf62cc2d72399e8df25e554e5e307d7ea06
      
https://github.com/qemu/qemu/commit/f3249bf62cc2d72399e8df25e554e5e307d7ea06
  Author: Stefan Weil <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  gtk: Fix compiler warning (GTK 3 deprecated function)

With GTK 3, the function gdk_cursor_unref is deprecated:

qemu/ui/gtk.c: In function ‘gd_cursor_define’:
qemu/ui/gtk.c:380:5: error:
 ‘gdk_cursor_unref’ is deprecated (declared at 
/usr/include/gtk-3.0/gdk/gdkcursor.h:233): Use 'g_object_unref' instead 
[-Werror=deprecated-declarations]

Fix the gcc compiler warning by using conditional compilation.

Signed-off-by: Stefan Weil <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 030b4b7debf659dcd6fc66826564285fdce5057d)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 390880f3d38b55e5eca07ad8f8683175cb97f5a8
      
https://github.com/qemu/qemu/commit/390880f3d38b55e5eca07ad8f8683175cb97f5a8
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  dataplane: refuse to start if device is already in use

Dataplane must check whether a block device is in use before launching
the dataplane thread.  This is necessary since the thread does not
synchronize with the main loop and I/O requests could cause corruption.

One example is when a drive is added and a block job is started before
hotplugging the virtio-blk-pci adapter.  In this case we must not use
dataplane mode.

Cc: address@hidden
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit b0f2027cde31c645524256763672e09eeb204a9a)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 27c59dad11969de71e70b57918d9badfd96edf44
      
https://github.com/qemu/qemu/commit/27c59dad11969de71e70b57918d9badfd96edf44
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/usb/hcd-xhci.c

  Log Message:
  -----------
  xhci: handle USB_RET_IOERROR

https://bugzilla.redhat.com/show_bug.cgi?id=980377

Cc: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
(cherry picked from commit ed60ff024fdb0e7ca9c002af166e10683cf49805)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 2b7e5f19dcc763a989ccbcf4bd5e2188a46f114e
      
https://github.com/qemu/qemu/commit/2b7e5f19dcc763a989ccbcf4bd5e2188a46f114e
  Author: Markus Armbruster <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M qemu-char.c

  Log Message:
  -----------
  qemu-char: Register ring buffer driver with correct name "ringbuf"

The driver is new in 1.4, with the documented name "ringbuf".
However, it's actual name is the completely undocumented "memory".
Screwed up in commit 3949e59.  Fix code to match documentation.

Keep the undocumented name working as an alias for compatibility.

Cc: address@hidden
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit c11ed9666d69abaf217c8800f299c519b487b7d3)

Conflicts:

        qemu-char.c

* removed dependency on command-line specifiable mux (bb6fb7c0)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 8707cd1ec0ac5d93552676e785c80ac1d613a596
      
https://github.com/qemu/qemu/commit/8707cd1ec0ac5d93552676e785c80ac1d613a596
  Author: Markus Armbruster <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M qapi-schema.json
    M qemu-char.c

  Log Message:
  -----------
  qapi: Rename ChardevBackend member "memory" to "ringbuf"

Commit 1da48c6 called the new member "memory" after commit 3949e59
standardized "ringbuf".  Rename for consistency.

However, member name "memory" is visible in QMP since 1.5.  It's
undocumented just like the driver name.  Keep it working anyway.

Cc: address@hidden
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 3a1da42eb35a67d0dbc899dd571ea386fa11c4dd)

Signed-off-by: Michael Roth <address@hidden>


  Commit: bb4d73c44b31fff44a1f74d77f83f7eab3636fdf
      
https://github.com/qemu/qemu/commit/bb4d73c44b31fff44a1f74d77f83f7eab3636fdf
  Author: Andreas Färber <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/char/virtio-console.c

  Log Message:
  -----------
  virtio-console: Use exitfn for virtserialport, too

virtconsole and virtserialport are identical in every other aspect
except for the distinguishing VirtIOSerialPortClass::is_console field.

Cc: address@hidden
Signed-off-by: Andreas Färber <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 203439ce0a832e36b276f10892846bd91ee836eb)

Signed-off-by: Michael Roth <address@hidden>


  Commit: a3ea885abd4fec0464814097646f8f47fced09eb
      
https://github.com/qemu/qemu/commit/a3ea885abd4fec0464814097646f8f47fced09eb
  Author: Don Koch <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/pci/pci.c
    M hw/pci/pci_bridge.c
    M include/hw/pci/pci_bridge.h

  Log Message:
  -----------
  pci-bridge: update mappings for migration/restore

Fix for LP#1187529: Devices on PCI bridge stop working when
live-migrated. Update bridge mappings for all PCI bridge
devices in get_pci_config_device().

Signed-off-by: Don Koch <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
(cherry picked from commit e78e9ae4a933504d383703870d491615b0261801)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 283d8f93e5346ffd941d0f58826da9b8c1b70051
      
https://github.com/qemu/qemu/commit/283d8f93e5346ffd941d0f58826da9b8c1b70051
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/usb/hcd-xhci.c

  Log Message:
  -----------
  xhci: fix segfault

Guest trying to reset a endpoint of a disconnected device resulted in
xhci trying to dereference uport while being NULL, thereby crashing
qemu.  Fix that by adding a check.  Drop unused dev variable while
touching that code bit.

Cc: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
(cherry picked from commit 75cc1c1fcba1987bdf3979c4289ab756c2b15742)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 6499aa6dcc0849346ac10532703fdf8d786b7658
      
https://github.com/qemu/qemu/commit/6499aa6dcc0849346ac10532703fdf8d786b7658
  Author: Michael Roth <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M include/sysemu/char.h
    M qemu-char.c

  Log Message:
  -----------
  chardev: fix CHR_EVENT_OPENED events for mux chardevs

As of bd5c51ee6c4f1c79cae5ad2516d711a27b4ea8ec, chardevs no longer use
bottom-halves to issue CHR_EVENT_OPENED events. To maintain past
semantics, we instead defer the CHR_EVENT_OPENED events toward the end
of chardev initialization.

For muxes, this isn't good enough, since a range of FEs must be able
to attach to the mux prior to any CHR_EVENT_OPENED being issued, else
each FE will immediately print it's initial output (prompts, banners,
etc.) just prior to us switching to the next FE as part of
initialization.

The is new and confusing behavior for users, as they'll see output for
things like the HMP monitor, even though their the current mux focus
may be a guest serial port with potentially no output.

We fix this by further deferring CHR_EVENT_OPENED events for FEs
associated with muxes until after machine init by flagging mux chardevs
with 'explicit_be_open', which suppresses emission of CHR_EVENT_OPENED
events until we explicitly set the mux as opened later.

Currently, we must defer till after machine init since we potentially
associate FEs with muxes as part of realize (for instance,
serial_isa_realizefn).

Signed-off-by: Michael Roth <address@hidden>
Message-id: address@hidden
Cc: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 7b7ab18d0b9769b5f39e663fa55caed461b1202e)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 0b85017dfcbc525d8fd252d591bdb258c88f1a7d
      
https://github.com/qemu/qemu/commit/0b85017dfcbc525d8fd252d591bdb258c88f1a7d
  Author: Paul Moore <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M qemu-seccomp.c

  Log Message:
  -----------
  seccomp: add arch_prctl() to the syscall whitelist

It appears that even a very simple /etc/qemu-ifup configuration can
require the arch_prctl() syscall, see the example below:

        #!/bin/sh
        /sbin/ifconfig $1 0.0.0.0 up
        /usr/sbin/brctl addif <switch> $1

Signed-off-by: Paul Moore <address@hidden>
Reviewed-by: Eduardo Otubo <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit d2509b667caf482b6f827ff2645cbeb9b39ce29e)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 7f91e37c5a940b2ba14df04b1f1363bceddc658d
      
https://github.com/qemu/qemu/commit/7f91e37c5a940b2ba14df04b1f1363bceddc658d
  Author: Paul Moore <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M qemu-seccomp.c

  Log Message:
  -----------
  seccomp: add additional asynchronous I/O syscalls

A previous commit, "seccomp: add the asynchronous I/O syscalls to the
whitelist", added several asynchronous I/O syscalls but left out the
io_submit() and io_cancel() syscalls.  This patch corrects this by
adding the two missing asynchronous I/O syscalls.

Signed-off-by: Paul Moore <address@hidden>
Reviewed-by: Eduardo Otubo <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 94113bd8a1d9acd05a879bc309cc659ace09e287)

Signed-off-by: Michael Roth <address@hidden>


  Commit: ca73e42f6d9581f785ff12a441501d94a97f5532
      
https://github.com/qemu/qemu/commit/ca73e42f6d9581f785ff12a441501d94a97f5532
  Author: MORITA Kazutaka <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M util/iov.c

  Log Message:
  -----------
  iov: handle EOF in iov_send_recv

Without this patch, iov_send_recv() never returns when do_send_recv()
returns zero.

Signed-off-by: MORITA Kazutaka <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 840042901710c2dc1a3ac3e5af9bed449c339701)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 405539005133bc3e7bb0c016ede3167eafac1df9
      
https://github.com/qemu/qemu/commit/405539005133bc3e7bb0c016ede3167eafac1df9
  Author: Andreas Färber <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/i386/pc.c
    M target-i386/cpu.c

  Log Message:
  -----------
  target-i386: Fix X86CPU error handling

Error **errp argument is not for emitting warnings, it means an error
has occurred and the caller should not make any assumptions about the
state of other return values (unless otherwise documented).

Therefore cpu_x86_create() must unref the new X86CPU itself, and
pc_new_cpu() must check for an Error rather than NULL return value.

While at it, clean up a superfluous NULL check.

Reported-by: Jan Kiszka <address@hidden>
Cc: address@hidden
Cc: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit cd7b87ffe9b6b7b0089ec8c71555f3b942bc6daf)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 82487399a46649f152def5682bfc41b18e32b5f9
      
https://github.com/qemu/qemu/commit/82487399a46649f152def5682bfc41b18e32b5f9
  Author: MORITA Kazutaka <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M qemu-img.c
    M qemu-io.c

  Log Message:
  -----------
  ignore SIGPIPE in qemu-img and qemu-io

This prevents the tools from being stopped when they write data to a
closed connection in the other side.

Signed-off-by: MORITA Kazutaka <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
(cherry picked from commit 526eda14a68d5b3596be715505289b541288ef2a)

Signed-off-by: Michael Roth <address@hidden>


  Commit: d55fc47517baed369ea1c5707386a2d720c04281
      
https://github.com/qemu/qemu/commit/d55fc47517baed369ea1c5707386a2d720c04281
  Author: Izumi Tsutsui <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M include/qemu/thread-posix.h
    M util/qemu-thread-posix.c

  Log Message:
  -----------
  semaphore: fix a hangup problem under load on NetBSD hosts.

Fix following bugs in "fallback implementation of counting semaphores
with mutex+condvar" added in c166cb72f1676855816340666c3b618beef4b976:
 - waiting threads are not restarted properly if more than one threads
   are waiting unblock signals in qemu_sem_timedwait()
 - possible missing pthread_cond_signal(3) calls when waiting threads
   are returned by ETIMEDOUT
 - fix an uninitialized variable
The problem is analyzed by and fix is provided by Noriyuki Soda.

Also put additional cleanup suggested by Laszlo Ersek:
 - make QemuSemaphore.count unsigned (it won't be negative)
 - check a return value of in pthread_cond_wait() in qemu_sem_wait()

Signed-off-by: Izumi Tsutsui <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 79761c6681f0d1cc1c027116fcb4382d41ed3ece)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 30c2463271806c2378d41b35ff626d1c0615d959
      
https://github.com/qemu/qemu/commit/30c2463271806c2378d41b35ff626d1c0615d959
  Author: Martijn van den Broek <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/core/loader.c

  Log Message:
  -----------
  Bugfix for loading multiboot kernels

This patch fixes a bug in rom_copy introduced by
commit d60fa42e8bae39440f997ebfe8fe328269a57d16.

rom_copy failed to load roms with a "datasize" of 0.
As a result, multiboot kernels were not loaded correctly
when they contain a segment with a "file size" of 0.

https://bugs.launchpad.net/qemu/+bug/1208944

Signed-off-by: Martijn van den Broek <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 0dd5ce38fbeb2fb97b01cc8c1c97292211e48ee6)

Signed-off-by: Michael Roth <address@hidden>


  Commit: ccf279824cf78faa3e33450f715f1d7792b46bd0
      
https://github.com/qemu/qemu/commit/ccf279824cf78faa3e33450f715f1d7792b46bd0
  Author: Gerd Hoffmann <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/pci-bridge/i82801b11.c

  Log Message:
  -----------
  i82801b11: Fix i82801b11 PCI host bridge config space

pci_bridge_write_config() was not being used.

Cc: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
(cherry picked from commit 4965b7f056177ddfb816319e9ff5e766898d0bc5)

Conflicts:

        hw/pci-bridge/i82801b11.c

* modified to avoid dependency on 125ee0ed

Signed-off-by: Michael Roth <address@hidden>


  Commit: 6bf6fcd181efdcbbb136ce622e1b2e1cbc677b60
      
https://github.com/qemu/qemu/commit/6bf6fcd181efdcbbb136ce622e1b2e1cbc677b60
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c
    M hw/virtio/dataplane/vring.c
    M include/hw/virtio/dataplane/vring.h

  Log Message:
  -----------
  dataplane: sync virtio.c and vring.c virtqueue state

Load the virtio.c state into vring.c when we start dataplane mode and
vice versa when stopping dataplane mode.  This patch makes it possible
to start and stop dataplane any time while the guest is running.

This will eventually allow us to go back to QEMU main loop for
bdrv_drain_all() and live migration.  In the meantime, this patch makes
the dataplane lifecycle more robust but should make no visible
difference.  It may be useful in the virtio-net dataplane effort.

Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit 9154b02c53bb6685797c973fcdbec51c4714777d)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 8d676daf6d12fb5357da9ccd54ac7640dd7ea9f2
      
https://github.com/qemu/qemu/commit/8d676daf6d12fb5357da9ccd54ac7640dd7ea9f2
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/virtio/dataplane/vring.c
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: clear signalled_used_valid when switching from dataplane

When the dataplane thread stops, its vring.c implementation synchronizes
vring state back to virtio.c so we can continue emulating the virtio
device.

This patch ensures that virtio.c's signalled_used_valid flag is reset so
that we do not suppress guest notifications due to stale signalled_used
values.

Suggested-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
(cherry picked from commit 6793dfd1b6a99a79b9f2e3c4d6625ccd6513f240)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 58ef8c530ca5d265f575ef88e93c0214d5740b0a
      
https://github.com/qemu/qemu/commit/58ef8c530ca5d265f575ef88e93c0214d5740b0a
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/virtio/vhost.c

  Log Message:
  -----------
  vhost: clear signalled_used_valid on vhost stop

When vhost device stops, its implementation synchronizes kernel state
back to virtio.c so we can continue emulating the device
in userspace.

This patch ensures that virtio.c's signalled_used_valid flag is reset so
that userspace does not suppress guest notifications due to stale
signalled_used values.

Cc: address@hidden
Signed-off-by: Michael S. Tsirkin <address@hidden>
(cherry picked from commit 3561ba14188b3c1e54246ed6db97896bbc082d2f)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 9975e9916e70933315441616860a4b555b825e0d
      
https://github.com/qemu/qemu/commit/9975e9916e70933315441616860a4b555b825e0d
  Author: Eduardo Habkost <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  pc: Remove PCLMULQDQ from Westmere on pc-*-1.4 and older

Commit 41cb383f42d0cb51d8e3e25e3ecebc954dd4196f made a guest-visible
change by adding the PCLMULQDQ bit to Westmere without adding
compatibility code to keep the ABI for older machine-types.
Fix it by adding the missing compat code.

Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
(cherry picked from commit 56383703c060777fd01aaf8d63d5f46d660e9fb9)

Signed-off-by: Andreas Färber <address@hidden>


  Commit: 91f92915f96e7e837df39a010170b3d0c534caac
      
https://github.com/qemu/qemu/commit/91f92915f96e7e837df39a010170b3d0c534caac
  Author: Michael Roth <address@hidden>
  Date:   2013-08-13 (Tue, 13 Aug 2013)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  Merge tag 'qom-cpu-for-1.5' into stable-1.5-staging

QOM CPUState and X86CPU for stable-1.5

* Fix X86CPU Westmere CPUID for pc-*-1.4 and older

Signed-off-by: Michael Roth <address@hidden>


  Commit: 88cc6975fe05de59bf3417a2226273ad257dc71a
      
https://github.com/qemu/qemu/commit/88cc6975fe05de59bf3417a2226273ad257dc71a
  Author: James Hogan <address@hidden>
  Date:   2013-08-14 (Wed, 14 Aug 2013)

  Changed paths:
    M qemu-char.c

  Log Message:
  -----------
  qemu-char: fix infinite recursion connecting to monitor pty

Since commit bd5c51e (qemu-char: don't issue CHR_EVENT_OPEN in a BH), an
infinite recursion occurs when putting the monitor on a pty (-monitor
pty) and connecting a terminal to the slave port.

This is because of the qemu_chr_be_event(s, CHR_EVENT_OPENED) added to
qemu_chr_be_generic_open(). This event is captured by monitor_event()
which prints a welcome message to the character device. The flush of
that welcome message retriggers another open event in pty_chr_state()
because it checks s->connected, but only sets it to 1 after calling
qemu_chr_be_generic_open().

I've fixed this by setting s->connected = 1 before the call to
qemu_chr_be_generic_open() instead of after, so that the recursive
pty_chr_state() doesn't call it again.

An example snippet of repeating backtrace:
 ...
 #107486 0x007aec58 in monitor_flush (mon=0xf418b0) at qemu/monitor.c:288
 #107487 0x007aee7c in monitor_puts (mon=0xf418b0, str=0x1176d07 "") at 
qemu/monitor.c:322
 #107488 0x007aef20 in monitor_vprintf (mon=0xf418b0, fmt=0x8d4820 "QEMU %s 
monitor - type 'help' for more information\n",
     ap=0x7f432be0) at qemu/monitor.c:339
 #107489 0x007aefac in monitor_printf (mon=0xf418b0, fmt=0x8d4820 "QEMU %s 
monitor - type 'help' for more information\n")
     at qemu/monitor.c:347
 #107490 0x007ba4bc in monitor_event (opaque=0xf418b0, event=2) at 
qemu/monitor.c:4699
 #107491 0x00684c28 in qemu_chr_be_event (s=0xf37788, event=2) at 
qemu/qemu-char.c:108
 #107492 0x00684c70 in qemu_chr_be_generic_open (s=0xf37788) at 
qemu/qemu-char.c:113
 #107493 0x006880a4 in pty_chr_state (chr=0xf37788, connected=1) at 
qemu/qemu-char.c:1145
 #107494 0x00687fa4 in pty_chr_update_read_handler (chr=0xf37788) at 
qemu/qemu-char.c:1121
 #107495 0x00687c9c in pty_chr_write (chr=0xf37788, buf=0x70b3c008 <Address 
0x70b3c008 out of bounds>, len=538720)
     at qemu/qemu-char.c:1063
 #107496 0x00684cc4 in qemu_chr_fe_write (s=0xf37788, buf=0x70b3c008 <Address 
0x70b3c008 out of bounds>, len=538720)
     at qemu/qemu-char.c:118
 ...

Signed-off-by: James Hogan <address@hidden>
Tested-by: Michael Roth <address@hidden>
Message-id: address@hidden
Cc: Michael Roth <address@hidden>
Cc: Anthony Liguori <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit 3a3567d337d3ee6fb2e2fcc1d27cd045ed97ae9b)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 4f8dca733363650aaab2d8d9488a3c5e1fa829cd
      
https://github.com/qemu/qemu/commit/4f8dca733363650aaab2d8d9488a3c5e1fa829cd
  Author: Markus Armbruster <address@hidden>
  Date:   2013-08-14 (Wed, 14 Aug 2013)

  Changed paths:
    M qemu-char.c

  Log Message:
  -----------
  qemu-char: Fix ringbuf option size

Any attempt to use it trips an "opt->desc->type == QEMU_OPT_NUMBER"
assertion.  Broken in commit 1da48c65.

Cc: address@hidden
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>
(cherry picked from commit 0f953051178f2e3df36efa5158a71f33d35fa812)

Signed-off-by: Michael Roth <address@hidden>


  Commit: c0b1a7e207094dba0b37a892b41fe4cab3195e44
      
https://github.com/qemu/qemu/commit/c0b1a7e207094dba0b37a892b41fe4cab3195e44
  Author: Michael Roth <address@hidden>
  Date:   2013-08-22 (Thu, 22 Aug 2013)

  Changed paths:
    M VERSION

  Log Message:
  -----------
  Update VERSION for 1.5.3 release

Signed-off-by: Michael Roth <address@hidden>


Compare: https://github.com/qemu/qemu/compare/ff4be47d1bb4...c0b1a7e20709

reply via email to

[Prev in Thread] Current Thread [Next in Thread]