1. 17 12月, 2018 28 次提交
  2. 16 12月, 2018 3 次提交
    • P
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · 58b1f0f2
      Peter Maydell 提交于
      Block layer patches:
      
      - qcow2: Decompression worker threads
      - dmg: lzfse compression support
      - file-posix: Simplify delegation to worker thread
      - Don't pass flags to bdrv_reopen_queue()
      - iotests: make 235 work on s390 (and others)
      
      # gpg: Signature made Fri 14 Dec 2018 10:55:09 GMT
      # gpg:                using RSA key 7F09B272C88F2FD6
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"
      # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6
      
      * remotes/kevin/tags/for-upstream: (42 commits)
        block/mirror: add missing coroutine_fn annotations
        iotests: make 235 work on s390 (and others)
        block: Assert that flags are up-to-date in bdrv_reopen_prepare()
        block: Remove assertions from update_flags_from_options()
        block: Stop passing flags to bdrv_reopen_queue_child()
        block: Remove flags parameter from bdrv_reopen_queue()
        block: Clean up reopen_backing_file() in block/replication.c
        qemu-io: Put flag changes in the options QDict in reopen_f()
        block: Drop bdrv_reopen()
        block: Use bdrv_reopen_set_read_only() in the mirror driver
        block: Use bdrv_reopen_set_read_only() in external_snapshot_commit()
        block: Use bdrv_reopen_set_read_only() in qmp_change_backing_file()
        block: Use bdrv_reopen_set_read_only() in stream_start/complete()
        block: Use bdrv_reopen_set_read_only() in bdrv_commit()
        block: Use bdrv_reopen_set_read_only() in commit_start/complete()
        block: Use bdrv_reopen_set_read_only() in bdrv_backing_update_filename()
        block: Add bdrv_reopen_set_read_only()
        file-posix: Avoid aio_worker() for QEMU_AIO_IOCTL
        file-posix: Switch to .bdrv_co_ioctl
        file-posix: Remove paio_submit_co()
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      58b1f0f2
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/usb-20181214-pull-request' into staging · 3866e6be
      Peter Maydell 提交于
      usb: fixes for mtp, ehci, usb-host and pvusb (xen).
      
      # gpg: Signature made Fri 14 Dec 2018 10:38:33 GMT
      # 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/usb-20181214-pull-request:
        usb-mtp: Limit filename to object information size
        usb-mtp: use O_NOFOLLOW and O_CLOEXEC.
        ehci: fix fetch qtd race
        usb-host: reset and close libusb_device_handle before qemu exit
        pvusb: set max grants only in initialise
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3866e6be
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2018-12-13-v2' into staging · 81781be3
      Peter Maydell 提交于
      QAPI patches for 2018-12-13
      
      # gpg: Signature made Fri 14 Dec 2018 05:53:51 GMT
      # gpg:                using RSA key 3870B400EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-qapi-2018-12-13-v2: (32 commits)
        qapi: add conditions to REPLICATION type/commands on the schema
        qapi: add more conditions to SPICE
        qapi: add condition to variants documentation
        qapi: add 'If:' condition to struct members documentation
        qapi: add 'If:' condition to enum values documentation
        qapi: Add #if conditions to generated code members
        qapi: add 'if' to alternate members
        qapi: add 'if' to union members
        qapi: Add 'if' to implicit struct members
        qapi: add a dictionary form for TYPE
        qapi-events: add 'if' condition to implicit event enum
        qapi: add 'if' to enum members
        qapi: add a dictionary form with 'name' key for enum members
        qapi: improve reporting of unknown or missing keys
        qapi: factor out checking for keys
        tests: print enum type members more like object type members
        qapi: change enum visitor and gen_enum* to take QAPISchemaMember
        qapi: Do not define enumeration value explicitly
        qapi: break long lines at 'data' member
        qapi: rename QAPISchemaEnumType.values to .members
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      81781be3
  3. 15 12月, 2018 2 次提交
    • P
      Merge remote-tracking branch 'remotes/gkurz/tags/for-upstream' into staging · d058a37a
      Peter Maydell 提交于
      Most notable change in this PR is the full removal of the "handle" fsdev
      backend.
      
      # gpg: Signature made Wed 12 Dec 2018 13:20:42 GMT
      # gpg:                using RSA key 71D4D5E5822F73D6
      # gpg: Good signature from "Greg Kurz <groug@kaod.org>"
      # gpg:                 aka "Gregory Kurz <gregory.kurz@free.fr>"
      # gpg:                 aka "[jpeg image of size 3330]"
      # Primary key fingerprint: B482 8BAF 9431 40CE F2A3  4910 71D4 D5E5 822F 73D6
      
      * remotes/gkurz/tags/for-upstream:
        9p: remove support for the "handle" backend
        xen/9pfs: use g_new(T, n) instead of g_malloc(sizeof(T) * n)
        9p: use g_new(T, n) instead of g_malloc(sizeof(T) * n)
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d058a37a
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20181213' into staging · 110b1a8c
      Peter Maydell 提交于
      target-arm queue:
       * Convert various devices from sysbus init to instance_init
       * Remove the now unused sysbus init support entirely
       * Allow AArch64 processors to boot from a kernel placed over 4GB
       * hw: arm: musicpal: drop TYPE_WM8750 in object_property_set_link()
       * versal: minor fixes to virtio-mmio instantation
       * arm: Implement the ARMv8.1-HPD extension
       * arm: Implement the ARMv8.2-AA32HPD extension
       * arm: Implement the ARMv8.1-LOR extension (as the trivial
         "no limited ordering regions provided" minimum)
      
      # gpg: Signature made Thu 13 Dec 2018 14:52:25 GMT
      # gpg:                using RSA key 3C2525ED14360CDE
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>"
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * remotes/pmaydell/tags/pull-target-arm-20181213: (37 commits)
        target/arm: Implement the ARMv8.1-LOR extension
        target/arm: Use arm_hcr_el2_eff more places
        target/arm: Introduce arm_hcr_el2_eff
        target/arm: Implement the ARMv8.2-AA32HPD extension
        target/arm: Implement the ARMv8.1-HPD extension
        target/arm: Tidy scr_write
        target/arm: Fix HCR_EL2.TGE check in arm_phys_excp_target_el
        target/arm: Add SCR_EL3 bits up to ARMv8.5
        target/arm: Add HCR_EL2 bits up to ARMv8.5
        target/arm: Move id_aa64mmfr* to ARMISARegisters
        hw/arm: versal: Correct the nr of IRQs to 192
        hw/arm: versal: Use IRQs 111 - 118 for virtio-mmio
        hw/arm: versal: Reduce number of virtio-mmio instances
        hw/arm: versal: Remove bogus virtio-mmio creation
        core/sysbus: remove the SysBusDeviceClass::init path
        xen_backend: remove xen_sysdev_init() function
        usb/tusb6010: Convert sysbus init function to realize function
        timer/puv3_ost: Convert sysbus init function to realize function
        timer/grlib_gptimer: Convert sysbus init function to realize function
        timer/etraxfs_timer: Convert sysbus init function to realize function
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      110b1a8c
  4. 14 12月, 2018 7 次提交
    • S
      block/mirror: add missing coroutine_fn annotations · 537c3d4f
      Stefan Hajnoczi 提交于
      Marking a function coroutine_fn currently has no effect on the compiler,
      but it documents that this function must be called from coroutine
      context and it may yield.  This is important information for the
      programmer.
      
      Also, if we ever transition to a stackless coroutine implementation,
      then it's likely that the annotation will become mandatory so the
      compiler can use the correct calling convention for coroutine functions.
      
      Cc: Max Reitz <mreitz@redhat.com>
      Cc: John Snow <jsnow@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      537c3d4f
    • C
      iotests: make 235 work on s390 (and others) · 2c26e648
      Christian Borntraeger 提交于
      "-machine pc" will not work all architectures. Lets fall back to the
      default machine by not specifying it.
      
      In addition we also need to specify -no-shutdown on s390 as qemu will
      exit otherwise.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      2c26e648
    • A
      block: Assert that flags are up-to-date in bdrv_reopen_prepare() · e6d79c41
      Alberto Garcia 提交于
      Towards the end of bdrv_reopen_queue_child(), before starting to
      process the children, the update_flags_from_options() function is
      called in order to have BDRVReopenState.flags in sync with the options
      from the QDict.
      
      This is necessary because during the reopen process flags must be
      updated for all nodes in the queue so bdrv_is_writable_after_reopen()
      and the permission checks work correctly.
      
      Because of that, calling update_flags_from_options() again in
      bdrv_reopen_prepare() doesn't really change the flags (they are
      already up-to-date). But we need to call it in order to remove those
      options from QemuOpts and that way indicate that they have been
      processed.
      Signed-off-by: NAlberto Garcia <berto@igalia.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      e6d79c41
    • A
      block: Remove assertions from update_flags_from_options() · 8eb4b07b
      Alberto Garcia 提交于
      This function takes four options (cache.direct, cache.no-flush,
      read-only and auto-read-only) from a QemuOpts object and updates the
      flags accordingly.
      
      If any of those options is not set (because it was missing from the
      original QDict or because it had an invalid value) then the function
      aborts with a failed assertion:
      
         $ qemu-io -c 'reopen -o read-only=foo' hd.qcow2
         block.c:1126: update_flags_from_options: Assertion `qemu_opt_find(opts, BDRV_OPT_CACHE_DIRECT)' failed.
         Aborted
      
      This assertion is unnecessary, and it forces any caller of
      bdrv_reopen() to pass all the aforementioned four options. This may
      have made sense in order to remove ambiguity when bdrv_reopen() was
      taking both flags and options, but that's not the case anymore.
      
      It's also unnecessary if we want to validate the option values,
      because bdrv_reopen_prepare() already takes care of that, as we can
      see if we remove the assertions:
      
         $ qemu-io -c 'reopen -o read-only=foo' hd.qcow2
         Parameter 'read-only' expects 'on' or 'off'
      Signed-off-by: NAlberto Garcia <berto@igalia.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      8eb4b07b
    • A
      block: Stop passing flags to bdrv_reopen_queue_child() · 9aa09ddd
      Alberto Garcia 提交于
      Now that all callers are passing the new options using the QDict we no
      longer need the 'flags' parameter.
      
      This patch makes the following changes:
      
         1) The update_options_from_flags() call is no longer necessary
            so it can be removed.
      
         2) The update_flags_from_options() call is now used in all cases,
            and is moved down a few lines so it happens after the options
            QDict contains the final set of values.
      
         3) The flags parameter is removed. Now the flags are initialized
            using the current value (for the top-level node) or the parent
            flags (after inherit_options()). In both cases the initial
            values are updated to reflect the new options in the QDict. This
            happens in bdrv_reopen_queue_child() (as explained above) and in
            bdrv_reopen_prepare().
      Signed-off-by: NAlberto Garcia <berto@igalia.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      9aa09ddd
    • A
      block: Remove flags parameter from bdrv_reopen_queue() · 2e891722
      Alberto Garcia 提交于
      Now that all callers are passing all flag changes as QDict options,
      the flags parameter is no longer necessary, so we can get rid of it.
      Signed-off-by: NAlberto Garcia <berto@igalia.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      2e891722
    • A
      block: Clean up reopen_backing_file() in block/replication.c · 3c4e9647
      Alberto Garcia 提交于
      This function is used to put the hidden and secondary disks in
      read-write mode before launching the backup job, and back in read-only
      mode afterwards.
      
      This patch does the following changes:
      
        - Use an options QDict with the "read-only" option instead of
          passing the changes as flags only.
      
        - Simplify the code (it was unnecessarily complicated and verbose).
      
        - Fix a bug due to which the secondary disk was not being put back
          in read-only mode when writable=false (because in this case
          orig_secondary_flags always had the BDRV_O_RDWR flag set).
      
        - Stop clearing the BDRV_O_INACTIVE flag.
      
      The flags parameter to bdrv_reopen_queue() becomes redundant and we'll
      be able to get rid of it in a subsequent patch.
      Signed-off-by: NAlberto Garcia <berto@igalia.com>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      3c4e9647