1. 02 10月, 2019 2 次提交
    • M
      vl: Fix -drive / -blockdev persistent reservation management · 8e29c657
      Markus Armbruster 提交于
      qemu-system-FOO's main() acts on command line arguments in its own
      idiosyncratic order.  There's not much method to its madness.
      Whenever we find a case where one kind of command line argument needs
      to refer to something created for another kind later, we rejigger the
      order.
      
      Recent commit cda4aa9a "vl: Create block backends before setting
      machine properties" was such a rejigger.  Block backends are now
      created before "delayed" objects.  This broke persistent reservation
      management.  Reproducer:
      
          $ qemu-system-x86_64 -object pr-manager-helper,id=pr-helper0,path=/tmp/pr-helper0.sock-drive -drive file=/dev/mapper/crypt,file.pr-manager=pr-helper0,format=raw,if=none,id=drive-scsi0-0-0-2
          qemu-system-x86_64: -drive file=/dev/mapper/crypt,file.pr-manager=pr-helper0,format=raw,if=none,id=drive-scsi0-0-0-2: No persistent reservation manager with id 'pr-helper0'
      
      The delayed pr-manager-helper object is created too late for use by
      -drive or -blockdev.  Normal objects are still created in time.
      
      pr-manager-helper has always been a delayed object (commit 7c9e5276
      "scsi, file-posix: add support for persistent reservation
      management").  Turns out there's no real reason for that.  Make it a
      normal object.
      
      Fixes: cda4aa9aSigned-off-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20190604151251.9903-2-armbru@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      (cherry picked from commit 9ea18ed2)
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      8e29c657
    • A
      q35: Revert to kernel irqchip · 92fa1b1a
      Alex Williamson 提交于
      Backport of QEMU v4.1 commit for stable v4.0.1 release
      
      commit c87759ce
      Author: Alex Williamson <alex.williamson@redhat.com>
      Date:   Tue May 14 14:14:41 2019 -0600
      
          q35: Revert to kernel irqchip
      
          Commit b2fc91db ("q35: set split kernel irqchip as default") changed
          the default for the pc-q35-4.0 machine type to use split irqchip, which
          turned out to have disasterous effects on vfio-pci INTx support.  KVM
          resampling irqfds are registered for handling these interrupts, but
          these are non-functional in split irqchip mode.  We can't simply test
          for split irqchip in QEMU as userspace handling of this interrupt is a
          significant performance regression versus KVM handling (GeForce GPUs
          assigned to Windows VMs are non-functional without forcing MSI mode or
          re-enabling kernel irqchip).
      
          The resolution is to revert the change in default irqchip mode in the
          pc-q35-4.1 machine and create a pc-q35-4.0.1 machine for the 4.0-stable
          branch.  The qemu-q35-4.0 machine type should not be used in vfio-pci
          configurations for devices requiring legacy INTx support without
          explicitly modifying the VM configuration to use kernel irqchip.
      
      Link: https://bugs.launchpad.net/qemu/+bug/1826422
      Fixes: b2fc91db ("q35: set split kernel irqchip as default")
      Cc: qemu-stable@nongnu.org
      Reviewed-by: NPeter Xu <peterx@redhat.com>
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      (upstream commit c87759ce)
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      *add comments regarding AML mismatch warnings from
       tests/bios-tables-test.c
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      92fa1b1a
  2. 18 9月, 2019 30 次提交
  3. 24 4月, 2019 1 次提交
  4. 17 4月, 2019 2 次提交
  5. 16 4月, 2019 5 次提交
    • P
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · dbfc49b6
      Peter Maydell 提交于
      Block layer patches:
      
      - qcow2: Fix potential corruption for preallocated resize with external data file
      
      # gpg: Signature made Tue 16 Apr 2019 15:23:35 BST
      # gpg:                using RSA key 7F09B272C88F2FD6
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
      # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6
      
      * remotes/kevin/tags/for-upstream:
        qcow2: Fix preallocation bdrv_pwrite to wrong file
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      dbfc49b6
    • K
      qcow2: Fix preallocation bdrv_pwrite to wrong file · 93e32b3e
      Kevin Wolf 提交于
      With an external data file, preallocate_co() must write the final byte
      to the external data file, not to the qcow2 image file.
      
      This is harmless for preallocation of newly created images (only the
      qcow2 file size is increased to the virtual disk size while it should be
      much smaller), but with preallocated resize, it could in theory cause
      visible corruption if the metadata of the image is larger than the data
      (e.g. lots of bitmaps).
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      93e32b3e
    • M
      socket: allow wait=false for client socket · a9b305ba
      Marc-André Lureau 提交于
      Commit 767abe7f ("chardev: forbid 'wait' option with client sockets")
      is a bit too strict. Current libvirt always set wait=false, and will
      thus fail to add client chardev.
      
      Make the code more permissive, allowing wait=false with client socket
      chardevs. Deprecate usage of 'wait' with client sockets.
      
      Fixes: 767abe7f
      Cc: Daniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      Message-id: 20190415163337.2795-1-marcandre.lureau@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      a9b305ba
    • P
      Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging · 677746b3
      Peter Maydell 提交于
      Slirp updates
      
      Dr. David Alan Gilbert (1):
        slirp: Gcc 9 -O3 fix
      
      # gpg: Signature made Mon 15 Apr 2019 19:05:39 BST
      # gpg:                using RSA key E61DBB15D4172BDEC97E92D9DB550E89F0FA54F3
      # gpg: Good signature from "Samuel Thibault <samuel.thibault@aquilenet.fr>" [unknown]
      # gpg:                 aka "Samuel Thibault <sthibault@debian.org>" [marginal]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@gnu.org>" [unknown]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@inria.fr>" [marginal]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@labri.fr>" [marginal]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@ens-lyon.org>" [marginal]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@u-bordeaux.fr>" [unknown]
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 900C B024 B679 31D4 0F82  304B D017 8C76 7D06 9EE6
      #      Subkey fingerprint: E61D BB15 D417 2BDE C97E  92D9 DB55 0E89 F0FA 54F3
      
      * remotes/thibault/tags/samuel-thibault:
        slirp: Gcc 9 -O3 fix
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      677746b3
    • D
      slirp: Gcc 9 -O3 fix · 6fabae61
      Dr. David Alan Gilbert 提交于
      Gcc 9 needs some convincing that sopreprbuf really is going to fill
      in iov in the call from soreadbuf, even though the failure case
      shouldn't happen.
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20190415121740.9881-1-dgilbert@redhat.com>
      Signed-off-by: NSamuel Thibault <samuel.thibault@ens-lyon.org>
      6fabae61