1. 30 3月, 2016 11 次提交
    • K
      block: Remove blk_set_bs() · 72f41b6f
      Kevin Wolf 提交于
      The function is unused since commit f21d96d0 ('block: Use BdrvChild in
      BlockBackend').
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      72f41b6f
    • P
      block/raw-posix.c: Make physical devices usable in QEMU under Mac OS X host · d0855f12
      Programmingkid 提交于
      Mac OS X can be picky when it comes to allowing the user
      to use physical devices in QEMU. Most mounted volumes
      appear to be off limits to QEMU. If an issue is detected,
      a message is displayed showing the user how to unmount a
      volume. Now QEMU uses both CD and DVD media.
      Signed-off-by: NJohn Arbuckle <programmingkidx@gmail.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      d0855f12
    • K
      block: Reject writethrough mode except at the root · 73ac451f
      Kevin Wolf 提交于
      Writethrough mode is going to become a BlockBackend feature rather than
      a BDS one, so forbid it in places where we won't be able to support it
      when the code finally matches the envisioned design.
      
      We only allowed setting the cache mode of non-root nodes after the 2.5
      release, so we're still free to make this change.
      
      The target of block jobs is now always opened in a writeback mode
      because it doesn't have a BlockBackend attached. This makes more sense
      anyway because block jobs know when to flush. If the graph is modified
      on job completion, the original cache mode moves to the new root, so
      for the guest device writethough always stays enabled if it was
      configured this way.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      73ac451f
    • K
      block: Make backing files always writeback · b8816a43
      Kevin Wolf 提交于
      First of all, we're generally not writing to backing files, but when we
      do, it's in the context of block jobs which know very well when to flush
      the image.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      b8816a43
    • K
      block: Remove cache.writeback from blockdev-add · aaa436f9
      Kevin Wolf 提交于
      The WCE bit is a frontend property and should not be part of the backend
      configuration. This is especially important because the same BDS can be
      used by different users with different WCE requirements.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      aaa436f9
    • K
      block: Remove dirty bitmaps from bdrv_move_feature_fields() · 7a827aae
      Kevin Wolf 提交于
      This patch changes dirty bitmaps from following a BlockBackend in graph
      changes to sticking with the node they were created at. For the full
      discussion, read the following mailing list thread:
      
        [Qemu-block] block: Dirty bitmaps and COR in bdrv_move_feature_fields()
        https://lists.nongnu.org/archive/html/qemu-block/2016-02/msg00745.html
      
      In summary, the justification for this change is:
      
      * When moving the dirty bitmap to the top of the tree was introduced in
        bdrv_append() in commit a9fc4408, it didn't actually have any effect
        because there could never be a bitmap in use when bdrv_append() was
        called (op blockers would prevent this). This is still true today for
        all internal uses of dirty bitmaps.
      
      * Support for user-defined dirty bitmaps was introduced in 2.4, but we
        discouraged users from using it because we didn't consider it ready
        yet.
      
        Moreover, in 2.5, the bdrv_swap() removal introduced a bug that left
        dangling pointers if a dirty bitmap was present (the anchors of the
        dirty bitmap were swapped, but the back link in the first element
        wasn't updated), so it didn't even work correctly.
      
      * block-dirty-bitmap-add takes an arbitrary node name, even if no
        BlockBackend is attached. This suggests that it is a node level
        operation and not a BlockBackend one. Consequently, there is no reason
        for dirty bitmaps to stay with a BlockBackend that was attached to the
        node they were created for.
      
      * It was suggested that block-dirty-bitmap-add could track the node if a
        node name was specified, and track the BlockBackend if the device name
        was specified. This would however be inconsistent with other QMP
        commands. Commands that accept both device and node names currently
        interpret the device name just as an alias for the current root node
        of that BlockBackend.
      
      * Dirty bitmaps have a name that is only unique amongst the bitmaps in a
        specific node. Moving bitmaps could lead to name clashes. Automatic
        renaming would involve too much magic.
      
      * Persistent bitmaps are stored in a specific node. Moving them around
        automatically might be at least surprising, but it would probably also
        become a real problem because that would have to happen atomically
        without the management tool knowing of the operation.
      
      At the end of the day it seems to be very clear that it was a mistake to
      include dirty bitmaps in bdrv_move_feature_fields(). The functionality
      of moving bitmaps and/or attaching them to a BlockBackend instead will
      probably be needed, but it should be done with a new explicit QMP
      command or option.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      7a827aae
    • K
      block: Remove copy-on-read from bdrv_move_feature_fields() · 4c844983
      Kevin Wolf 提交于
      Ever since we first introduced bdrv_append() in commit 8802d1fd ('qapi:
      Introduce blockdev-group-snapshot-sync command'), the copy-on-read flag
      was moved to the new top layer when taking a snapshot. The only problem
      is that it doesn't make a whole lot of sense.
      
      The use case for manually enabled CoR is to avoid reading data twice
      from a slow remote image, so we want to save it to a local overlay, say
      an ISO image accessed via HTTP to a local qcow2 overlay. When taking a
      snapshot, we end up with a backing chain like this:
      
          http <- local.qcow2 <- snap_overlay.qcow2
      
      There is no point in doing CoR from local.qcow2 into snap_overlay.qcow2,
      we just want to keep copying data from the remote source into
      local.qcow2.
      
      The other use case of CoR is in the context of streaming, which isn't
      very interesting for bdrv_move_feature_fields() because op blockers
      prevent this combination.
      
      This patch makes the copy-on-read flag stay on the image for which it
      was originally set and prevents it from being propagated to the new
      overlay. It is no longer intended to move CoR to the BlockBackend level.
      In order for this to make sense, we also need to keep the respective
      image read-write.
      
      As a side effect of these changes, creating a live snapshot image (as
      opposed to using an existing externally created one) on top of a COR
      block device works now. It used to fail because it tried to open its
      backing file both read-only and with COR.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      4c844983
    • K
      block: Remove bdrv_make_anon() · 63eaaae0
      Kevin Wolf 提交于
      The call in hmp_drive_del() is dead code because blk_remove_bs() is
      called a few lines above. The only other remaining user is
      bdrv_delete(), which only abuses bdrv_make_anon() to remove it from the
      named nodes list. This path inlines the list entry removal into
      bdrv_delete() and removes bdrv_make_anon().
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      63eaaae0
    • P
      Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging · 553934db
      Peter Maydell 提交于
      # gpg: Signature made Tue 29 Mar 2016 01:48:09 BST using RSA key ID C0DE3057
      # gpg: Good signature from "Jeffrey Cody <jcody@redhat.com>"
      # gpg:                 aka "Jeffrey Cody <jeff@codyprime.org>"
      # gpg:                 aka "Jeffrey Cody <codyprime@gmail.com>"
      
      * remotes/cody/tags/block-pull-request:
        qemu-iotests: add no-op streaming test
        qemu-iotests: fix test_stream_partial()
        block: never cancel a streaming job without running stream_complete()
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      553934db
    • P
      Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging · 5b8e6b4c
      Peter Maydell 提交于
      slirp updates
      
      # gpg: Signature made Tue 29 Mar 2016 00:16:05 BST using RSA key ID FB6B2F1D
      # gpg: Good signature from "Samuel Thibault <samuel.thibault@gnu.org>"
      # gpg:                 aka "Samuel Thibault <sthibault@debian.org>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@inria.fr>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@labri.fr>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@ens-lyon.org>"
      # 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: F632 74CD C630 0873 CB3D  29D9 E3E5 1CE8 FB6B 2F1D
      
      * remotes/thibault/tags/samuel-thibault:
        Rework ipv6 options
        Use C99 flexible array instead of 1-byte trailing array
        Avoid embedding struct mbuf in other structures
        slirp: send icmp6 errors when UDP send failed
        slirp: Fix memory leak on small incoming ipv4 packet
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      5b8e6b4c
    • P
      Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20160328.0' into staging · 7cd592bc
      Peter Maydell 提交于
      VFIO updates 2016-03-28
      
       - Use 128bit math to avoid asserts with IOMMU regions (Bandan Das)
      
      # gpg: Signature made Mon 28 Mar 2016 23:16:52 BST using RSA key ID 3BB08B22
      # gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex@shazbot.org>"
      # gpg:                 aka "Alex Williamson <alwillia@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>"
      
      * remotes/awilliam/tags/vfio-update-20160328.0:
        vfio: convert to 128 bit arithmetic calculations when adding mem regions
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      7cd592bc
  2. 29 3月, 2016 6 次提交
  3. 25 3月, 2016 3 次提交
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 84a5a801
      Peter Maydell 提交于
      * Log filtering from Alex and Peter
      * Chardev fix from Marc-André
      * config.status tweak from David
      * Header file tweaks from Markus, myself and Veronia (Outreachy candidate)
      * get_ticks_per_sec() removal from Rutuja (Outreachy candidate)
      * Coverity fix from myself
      * PKE implementation from myself, based on rth's XSAVE support
      
      # gpg: Signature made Thu 24 Mar 2016 20:15:11 GMT using RSA key ID 78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      
      * remotes/bonzini/tags/for-upstream: (28 commits)
        target-i386: implement PKE for TCG
        config.status: Pass extra parameters
        char: translate from QIOChannel error to errno
        exec: fix error handling in file_ram_alloc
        cputlb: modernise the debug support
        qemu-log: support simple pid substitution for logs
        target-arm: dfilter support for in_asm
        qemu-log: dfilter-ise exec, out_asm, op and opt_op
        qemu-log: new option -dfilter to limit output
        qemu-log: Improve the "exec" TB execution logging
        qemu-log: Avoid function call for disabled qemu_log_mask logging
        qemu-log: correct help text for -d cpu
        tcg: pass down TranslationBlock to tcg_code_gen
        util: move declarations out of qemu-common.h
        Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND
        hw: explicitly include qemu-common.h and cpu.h
        include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h
        isa: Move DMA_transfer_handler from qemu-common.h to hw/isa/isa.h
        Move ParallelIOArg from qemu-common.h to sysemu/char.h
        Move QEMU_ALIGN_*() from qemu-common.h to qemu/osdep.h
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      
      Conflicts:
      	scripts/clean-includes
      84a5a801
    • P
      Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20160324' into staging · b68a8013
      Peter Maydell 提交于
      Support for booting from virtio-scsi devices in the s390-ccw bios.
      
      # gpg: Signature made Thu 24 Mar 2016 08:14:21 GMT using RSA key ID C6F02FAF
      # gpg: Good signature from "Cornelia Huck <huckc@linux.vnet.ibm.com>"
      # gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>"
      
      * remotes/cohuck/tags/s390x-20160324:
        s390-ccw.img: rebuild image
        pc-bios/s390-ccw: disambiguation of "No zIPL magic" message
        pc-bios/s390-ccw: enhance bootmap detection
        pc-bios/s390-ccw: enable virtio-scsi
        pc-bios/s390-ccw: add virtio-scsi implementation
        pc-bios/s390-ccw: add scsi definitions
        pc-bios/s390-ccw: add simplified virtio call
        pc-bios/s390-ccw: make provisions for different backends
        pc-bios/s390-ccw: add vdev object to store all device details
        pc-bios/s390-ccw: update virtio implementation to allow up to 3 vrings
        pc-bios/s390-ccw: qemuize types
        pc-bios/s390-ccw: add utility functions and "export" some others
        pc-bios/s390-ccw: virtio_panic -> panic
        pc-bios/s390-ccw: add more disk layout checks
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      b68a8013
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20160324-1' into staging · f18f2e7c
      Peter Maydell 提交于
      input-linux + spice fixes
      
      # gpg: Signature made Thu 24 Mar 2016 07:54:45 GMT using RSA key ID D3E87138
      # 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>"
      
      * remotes/kraxel/tags/pull-ui-20160324-1:
        spice: Disallow use of gl + TCP port
        input-linux: fix Coverity warning
        input-linux: switch over to -object
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      f18f2e7c
  4. 24 3月, 2016 20 次提交