1. 03 7月, 2018 15 次提交
    • P
      Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging · a395717c
      Peter Maydell 提交于
      # gpg: Signature made Tue 03 Jul 2018 04:42:11 BST
      # gpg:                using RSA key BDBE7B27C0DE3057
      # gpg: Good signature from "Jeffrey Cody <jcody@redhat.com>"
      # gpg:                 aka "Jeffrey Cody <jeff@codyprime.org>"
      # gpg:                 aka "Jeffrey Cody <codyprime@gmail.com>"
      # Primary key fingerprint: 9957 4B4D 3474 90E7 9D98  D624 BDBE 7B27 C0DE 3057
      
      * remotes/cody/tags/block-pull-request:
        backup: Use copy offloading
        block: Honour BDRV_REQ_NO_SERIALISING in copy range
        block: Fix parameter checking in bdrv_co_copy_range_internal
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      a395717c
    • P
      Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2018-07-02' into staging · 9b75dcb1
      Peter Maydell 提交于
      nbd patches for 2018-07-02
      
      Bug fixes and iotest exposure of fleecing via NBD (serving a
      read-only point-in-time view via blockdev-backup sync:none,
      as well as serving dirty bitmaps over NBD), including a new
      x-dirty-bitmap parameter when opening NBD clients as the
      counterpart to x-nbd-server-add-bitmap. Also a random fix
      for iscsi block_status spotted by Coverity that missed other
      miscellaneous trees.
      
      - Eric Blake: nbd/server: Fix dirty bitmap logic regression
      - Eric Blake: iscsi: Avoid potential for get_status overflow
      - John Snow/Vladimir Sementsov-Ogievskiy: 0/2 block: formalize and test fleecing
      - Eric Blake: 0/2 test NBD bitmap export
      
      # gpg: Signature made Tue 03 Jul 2018 02:33:03 BST
      # gpg:                using RSA key A7A16B4A2527436A
      # gpg: Good signature from "Eric Blake <eblake@redhat.com>"
      # gpg:                 aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>"
      # gpg:                 aka "[jpeg image of size 6874]"
      # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2  F3AA A7A1 6B4A 2527 436A
      
      * remotes/ericb/tags/pull-nbd-2018-07-02:
        iotests: New test 223 for exporting dirty bitmap over NBD
        nbd/client: Add x-dirty-bitmap to query bitmap from server
        iotests: add 222 to test basic fleecing
        blockdev: enable non-root nodes for backup source
        iscsi: Avoid potential for get_status overflow
        nbd/server: Fix dirty bitmap logic regression
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      9b75dcb1
    • P
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 46d0885a
      Peter Maydell 提交于
      pc, virtio: fixes
      
      A couple of fixes to amd iommu, and a fix to virtio iommu.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Thu 28 Jun 2018 02:46:45 BST
      # gpg:                using RSA key 281F0DB8D28D5469
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>"
      # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
      #      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469
      
      * remotes/mst/tags/for_upstream:
        virtio-rng: process pending requests on DRIVER_OK
        hw/i386: Fix AMDVI GATS and HATS encodings
        hw/i386: Fix IVHD entry length for AMD IOMMU
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      46d0885a
    • F
      backup: Use copy offloading · 9ded4a01
      Fam Zheng 提交于
      The implementation is similar to the 'qemu-img convert'. In the
      beginning of the job, offloaded copy is attempted. If it fails, further
      I/O will go through the existing bounce buffer code path.
      
      Then, as Kevin pointed out, both this and qemu-img convert can benefit
      from a local check if one request fails because of, for example, the
      offset is beyond EOF, but another may well be accepted by the protocol
      layer. This will be implemented separately.
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Message-id: 20180703023758.14422-4-famz@redhat.com
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      9ded4a01
    • F
      block: Honour BDRV_REQ_NO_SERIALISING in copy range · dee12de8
      Fam Zheng 提交于
      This semantics is needed by drive-backup so implement it before using
      this API there.
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Message-id: 20180703023758.14422-3-famz@redhat.com
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      dee12de8
    • F
      block: Fix parameter checking in bdrv_co_copy_range_internal · d4d3e5a0
      Fam Zheng 提交于
      src may be NULL if BDRV_REQ_ZERO_WRITE flag is set, in this case only
      check dst and dst->bs. This bug was introduced when moving in the
      request tracking code from bdrv_co_copy_range, in 37aec7d7.
      
      This especially fixes the possible segfault when initializing src_bs
      with a NULL src.
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Message-id: 20180703023758.14422-2-famz@redhat.com
      Reviewed-by: NJeff Cody <jcody@redhat.com>
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      d4d3e5a0
    • E
      iotests: New test 223 for exporting dirty bitmap over NBD · a1532a22
      Eric Blake 提交于
      Although this test is NOT a full test of image fleecing (as it
      intentionally uses just a single block device directly exported
      over NBD, rather than trying to set up a blockdev-backup job with
      multiple BDS involved), it DOES prove that qemu as a server is
      able to properly expose a dirty bitmap over NBD.
      
      When coupled with image fleecing, it is then possible for a
      third-party client to do an incremental backup by using
      qemu-img map with the x-dirty-bitmap option to learn which parts
      of the file are dirty (perhaps confusingly, they are the portions
      mapped as "data":false - which is part of the reason this is
      still in the x- experimental namespace), along with another
      normal client (perhaps 'qemu-nbd -c' to expose the server over
      /dev/nbd0 and then just use normal I/O on that block device) to
      read the dirty sections.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180702191458.28741-3-eblake@redhat.com>
      Tested-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      a1532a22
    • E
      nbd/client: Add x-dirty-bitmap to query bitmap from server · 216ee365
      Eric Blake 提交于
      In order to test that the NBD server is properly advertising
      dirty bitmaps, we need a bare minimum client that can request
      and read the context.  Since feature freeze for 3.0 is imminent,
      this is the smallest workable patch, which replaces the qemu
      block status report with the results of the NBD server's dirty
      bitmap (making it very easy to use 'qemu-img map --output=json'
      to learn where the dirty portions are).  Note that the NBD
      protocol defines a dirty section with the same bit but opposite
      sense that normal "base:allocation" uses to report an allocated
      section; so in qemu-img map output, "data":true corresponds to
      clean, "data":false corresponds to dirty.
      
      A more complete solution that allows dirty bitmaps to be queried
      at the same time as normal block status will be required before
      this addition can lose the x- prefix.  Until then, the fact that
      this replaces normal status with dirty status means actions
      like 'qemu-img convert' will likely misbehave due to treating
      dirty regions of the file as if they are unallocated.
      
      The next patch adds an iotest to exercise this new code.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180702191458.28741-2-eblake@redhat.com>
      216ee365
    • J
      iotests: add 222 to test basic fleecing · bacebded
      John Snow 提交于
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Message-Id: <20180702194630.9360-3-jsnow@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      bacebded
    • V
      blockdev: enable non-root nodes for backup source · 930fe17f
      Vladimir Sementsov-Ogievskiy 提交于
      This is needed to implement the image-fleecing workflow where we
      create a temporary node backed by an active node, then start
      backupdev-backup sync=none from the active node to the temp node.
      
      In this case, the active node is now a root node AND a backing node,
      so it no longer qualifies as a root node, so we loosen the restriction
      on which nodes can be considered as the source for a backup.
      Signed-off-by: NVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Message-Id: <20180702194630.9360-2-jsnow@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      930fe17f
    • E
      iscsi: Avoid potential for get_status overflow · 8ee1cef4
      Eric Blake 提交于
      Detected by Coverity: Multiplying two 32-bit int and assigning
      the result to a 64-bit number is a risk of overflow.  Prior to
      the conversion to byte-based interfaces, the block layer took
      care of ensuring that a status request never exceeded 2G in
      the driver; but after that conversion, the block layer expects
      drivers to deal with any size request (the driver can always
      truncate the request size back down, as long as it makes
      progress).  So, in the off-chance that someone makes a large
      request, we are at the mercy of whether iscsi_get_lba_status_task()
      will cap things to at most INT_MAX / iscsilun->block_size when
      it populates lbasd->num_blocks; since I could not easily audit
      that, it's better to be safe than sorry by just forcing a 64-bit
      multiply.
      
      Fixes: 92809c36
      CC: qemu-stable@nongnu.org
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180508212718.1482663-1-eblake@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      8ee1cef4
    • E
      nbd/server: Fix dirty bitmap logic regression · 7606c99a
      Eric Blake 提交于
      In my hurry to fix a build failure, I introduced a logic bug.
      The assertion conditional is backwards, meaning that qemu will
      now abort instead of reporting dirty bitmap status.
      
      The bug can only be tickled by an NBD client using an exported
      dirty bitmap (which is still an experimental QMP command), so
      it's not the end of the world for supported usage (and neither
      'make check' nor qemu-iotests fails); but it also shows that we
      really want qemu-io support for reading dirty bitmaps if only
      so that I can add iotests coverage to prevent future
      brown-bag-of-shame events like this one.
      
      Fixes: 45eb6fb6Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180622153509.375130-1-eblake@redhat.com>
      7606c99a
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · e8c85894
      Peter Maydell 提交于
      * IEC units series (Philippe)
      * Hyper-V PV TLB flush (Vitaly)
      * git archive detection (Daniel)
      * host serial passthrough fix (David)
      * NPT support for SVM emulation (Jan)
      * x86 "info mem" and "info tlb" fix (Doug)
      
      # gpg: Signature made Mon 02 Jul 2018 16:18:21 BST
      # gpg:                using RSA key BFFBD25F78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * remotes/bonzini/tags/for-upstream: (50 commits)
        tcg: simplify !CONFIG_TCG handling of tb_invalidate_*
        i386/monitor.c: make addresses canonical for "info mem" and "info tlb"
        target-i386: Add NPT support
        serial: Open non-block
        bsd-user: Use the IEC binary prefix definitions
        linux-user: Use the IEC binary prefix definitions
        tests/crypto: Use the IEC binary prefix definitions
        vl: Use the IEC binary prefix definitions
        monitor: Use the IEC binary prefix definitions
        cutils: Do not include "qemu/units.h" directly
        hw/rdma: Use the IEC binary prefix definitions
        hw/virtio: Use the IEC binary prefix definitions
        hw/vfio: Use the IEC binary prefix definitions
        hw/sd: Use the IEC binary prefix definitions
        hw/usb: Use the IEC binary prefix definitions
        hw/net: Use the IEC binary prefix definitions
        hw/i386: Use the IEC binary prefix definitions
        hw/ppc: Use the IEC binary prefix definitions
        hw/mips: Use the IEC binary prefix definitions
        hw/mips/r4k: Constify params_size
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e8c85894
    • P
      Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20180702' into staging · ab08440a
      Peter Maydell 提交于
      Assorted tlb and tb caching fixes
      
      # gpg: Signature made Mon 02 Jul 2018 17:03:07 BST
      # gpg:                using RSA key 64DF38E8AF7E215F
      # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>"
      # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F
      
      * remotes/rth/tags/pull-tcg-20180702:
        cpu: Assert asidx_from_attrs return value in range
        accel/tcg: Avoid caching overwritten tlb entries
        accel/tcg: Don't treat invalid TLB entries as needing recheck
        accel/tcg: Correct "is this a TLB miss" check in get_page_addr_code()
        tcg: Define and use new tlb_hit() and tlb_hit_page() functions
        translate-all: fix locking of TBs whose two pages share the same physical page
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      ab08440a
    • P
      Merge remote-tracking branch... · e14dcc9c
      Peter Maydell 提交于
      Merge remote-tracking branch 'remotes/kraxel/tags/seabios-1.11.2-20180702-pull-request' into staging
      
      seabios: update to release 1.11.2, add/update configuration.
      vgabios: remove (old unused lgpl'ed vgabios).
      ramfb,bochs-display: use new vgabios roms.
      
      # gpg: Signature made Mon 02 Jul 2018 16:42:06 BST
      # gpg:                using RSA key 4CB6D8EED3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/seabios-1.11.2-20180702-pull-request:
        ramfb: enable vgabios
        bochs-display: enable vgabios
        seabios: update bios and vgabios binaries
        vgabios: remove submodule and build rules.
        seabios: enable ide dma
        seabios: add vga configs for bochs-display and ramfb
        seabios: update submodule to release 1.11.2
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e14dcc9c
  2. 02 7月, 2018 25 次提交