Skip to content
Snippets Groups Projects
  1. Jun 07, 2017
  2. Jun 06, 2017
    • Fam Zheng's avatar
      virtio-scsi: Unset hotplug handler when unrealize · 2cbe2de5
      Fam Zheng authored
      
      This matches the qbus_set_hotplug_handler in realize, and it releases
      the final reference to the embedded VirtIODevice so that it is
      properly finalized.
      
      A use-after-free is fixed with this patch, indirectly:
      virtio_device_instance_finalize wasn't called at hot-unplug, and the
      vdev->listener would be a dangling pointer in the global and the per
      address space listener list. See also RHBZ 1449031.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarFam Zheng <famz@redhat.com>
      Message-Id: <20170518102808.30046-1-famz@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      2cbe2de5
    • Peter Xu's avatar
      exec: simplify phys_page_find() params · 003a0cf2
      Peter Xu authored
      
      It really only plays with the dispatchers, so the parameter list does
      not need that complexity. This helps for readability at least.
      
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Message-Id: <1494838260-30439-2-git-send-email-peterx@redhat.com>
      Reviewed-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      003a0cf2
    • Vladimir Sementsov-Ogievskiy's avatar
      nbd/client.c: use errp instead of LOG · be41c100
      Vladimir Sementsov-Ogievskiy authored
      
      Move to modern errp scheme from just LOGging errors.
      
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-Id: <20170526110913.89098-1-vsementsov@virtuozzo.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      be41c100
    • Vladimir Sementsov-Ogievskiy's avatar
      nbd: add errp to read_sync, write_sync and drop_sync · e44ed99d
      Vladimir Sementsov-Ogievskiy authored
      
      There a lot of calls of these functions, which already have errp, which
      they are filling themselves. On the other hand, nbd_wr_syncv has errp
      parameter too, so it would be great to connect them.
      
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-Id: <20170516094533.6160-5-vsementsov@virtuozzo.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      e44ed99d
    • Vladimir Sementsov-Ogievskiy's avatar
      nbd: add errp parameter to nbd_wr_syncv() · f2609565
      Vladimir Sementsov-Ogievskiy authored
      
      Will be used in following patch to provide actual error message in
      some cases.
      
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-Id: <20170516094533.6160-4-vsementsov@virtuozzo.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      f2609565
    • Vladimir Sementsov-Ogievskiy's avatar
      nbd: read_sync and friends: return 0 on success · f5d406fe
      Vladimir Sementsov-Ogievskiy authored
      
      functions read_sync, drop_sync, write_sync, and also
      nbd_negotiate_write, nbd_negotiate_read, nbd_negotiate_drop_sync
      returns number of processed bytes. But what this number can be,
      except requested number of bytes?
      
      Actually, underlying nbd_wr_syncv function returns a value >= 0 and
      != requested_bytes only on eof on read operation. So, firstly, it is
      impossible on write (let's add an assert) and on read it actually
      means, that communication is broken (except nbd_receive_reply, see
      below).
      
      Most of callers operate like this:
         if (func(..., size) != size) {
             /* error path */
         }
      , i.e.:
        1. They are not interested in partial success
        2. Extra duplications in code (especially bad are duplications of
           magic numbers)
        3. User doesn't see actual error message, as return code is lost.
           (this patch doesn't fix this point, but it makes fixing easier)
      
      Several callers handles ret >= 0 and != requested-size separately, by
      just returning EINVAL in this case. This patch makes read_sync and
      friends return EINVAL in this case, so final behavior is the same.
      
      And only one caller - nbd_receive_reply() does something not so
      obvious. It returns EINVAL for ret > 0 and != requested-size, like
      previous group, but for ret == 0 it returns 0. The only caller of
      nbd_receive_reply() - nbd_read_reply_entry() handles ret == 0 in the
      same way as ret < 0, so for now it doesn't matter. However, in
      following commits error path handling will be improved and we'll need
      to distinguish success from fail in this case too. So, this patch adds
      separate helper for this case - read_sync_eof.
      
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-Id: <20170516094533.6160-3-vsementsov@virtuozzo.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      f5d406fe
    • Vladimir Sementsov-Ogievskiy's avatar
      nbd: strict nbd_wr_syncv · f250a42d
      Vladimir Sementsov-Ogievskiy authored
      
      nbd_wr_syncv is called either from coroutine or from client negotiation
      code, when socket is in blocking mode. So, -EAGAIN is impossible.
      
      Furthermore, EAGAIN is confusing, as, what to read/write again? With
      EAGAIN as a return code we don't know how much data is already
      read or written by the function, so in case of EAGAIN the whole
      communication is broken.
      
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-Id: <20170516094533.6160-2-vsementsov@virtuozzo.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      f250a42d
    • Stefano Stabellini's avatar
      Check the return value of fcntl in qemu_set_cloexec · 7e6478e7
      Stefano Stabellini authored
      
      Assert that the return value is not an error. This issue was found by
      Coverity.
      
      CID: 1374831
      
      Signed-off-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      CC: groug@kaod.org
      CC: pbonzini@redhat.com
      CC: Eric Blake <eblake@redhat.com>
      Message-Id: <1494356693-13190-2-git-send-email-sstabellini@kernel.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      7e6478e7
    • Peter Xu's avatar
      kvm: irqchip: skip update msi when disabled · fd563564
      Peter Xu authored
      It's possible that one device kept its irqfd/virq there even when
      MSI/MSIX was disabled globally for that device. One example is
      virtio-net-pci (see commit f1d0f15a and virtio_pci_vq_vector_mask()).
      It is used as a fast path to avoid allocate/release irqfd/virq
      frequently when guest enables/disables MSIX.
      
      However, this fast path brought a problem to msi_route_list, that the
      device MSIRouteEntry is still dangling there even if MSIX disabled -
      then we cannot know which message to fetch, even if we can, the messages
      are meaningless. In this case, we can just simply ignore this entry.
      
      It's safe, since when MSIX is enabled again, we'll rebuild them no
      matter what.
      
      Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1448813
      
      
      
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Message-Id: <1494309644-18743-4-git-send-email-peterx@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      fd563564
    • Peter Xu's avatar
      msix: trace control bit write op · 993b1f4b
      Peter Xu authored
      
      Meanwhile, abstract a function to detect msix masked bit.
      
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Message-Id: <1494309644-18743-3-git-send-email-peterx@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      993b1f4b
    • Peter Xu's avatar
      kvm: irqchip: trace changes on msi add/remove · 9ba35d0b
      Peter Xu authored
      
      It'll be nice to know which virq belongs to which device/vector when
      adding msi routes, so adding two more parameters for the add trace.
      
      Meanwhile, releasing virq has no tracing before. Add one for it.
      
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Message-Id: <1494309644-18743-2-git-send-email-peterx@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9ba35d0b
    • Xiao Guangrong's avatar
      qtest: add rtc periodic timer test · bd618eab
      Xiao Guangrong authored
      
      It tests the accuracy of rtc periodic timer which is recently
      improved & fixed by commit 7ffcb539a3 ("mc146818rtc: precisely count
      the clock for periodic timer", 2017-05-19).
      
      Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@tencent.com>
      Message-Id: <20170527025301.23499-1-xiaoguangrong@tencent.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      bd618eab
    • Xiao Guangrong's avatar
      mc146818rtc: embrace all x86 specific code · e0c8b950
      Xiao Guangrong authored
      
      Introduce a function, rtc_policy_slew_deliver_irq(), which delivers
      irq if LOST_TICK_POLICY_SLEW is used, as which is only supported on
      x86, other platforms call it will trigger a assert
      
      After that, we can move the x86 specific code to the common place
      
      Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@tencent.com>
      Message-Id: <20170510083259.3900-6-xiaoguangrong@tencent.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      e0c8b950
    • Xiao Guangrong's avatar
      mc146818rtc: drop unnecessary '#ifdef TARGET_I386' · 388ad5d2
      Xiao Guangrong authored
      
      If the code purely depends on LOST_TICK_POLICY_SLEW, we can simply
      drop '#ifdef TARGET_I386' as only x86 can enable this tick policy
      
      Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@tencent.com>
      Message-Id: <20170510083259.3900-5-xiaoguangrong@tencent.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      388ad5d2
    • Xiao Guangrong's avatar
      mc146818rtc: ensure LOST_TICK_POLICY_SLEW is only enabled on TARGET_I386 · 4aa70a0e
      Xiao Guangrong authored
      
      Any tick policy specified on other platforms rather on TARGET_I386
      will fall back to LOST_TICK_POLICY_DISCARD silently, this patch makes
      sure only TARGET_I386 can enable LOST_TICK_POLICY_SLEW
      
      After that, we can enable LOST_TICK_POLICY_SLEW in the common code
      which need not use '#ifdef TARGET_I386' to make these code be x86
      specific anymore
      
      Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@tencent.com>
      Message-Id: <20170510083259.3900-4-xiaoguangrong@tencent.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      4aa70a0e
    • Tai Yunfang's avatar
      mc146818rtc: precisely count the clock for periodic timer · 369b4135
      Tai Yunfang authored
      
      There are two issues in current code:
      1) If the period is changed by re-configuring RegA, the coalesced
         irq will be scaled to reflect the new period, however, it
         calculates the new interrupt number like this:
          s->irq_coalesced = (s->irq_coalesced * s->period) / period;
      
         There are some clocks will be lost if they are not enough to
         be squeezed to a single new period that will cause the VM clock
         slower
      
         In order to fix the issue, we calculate the interrupt window
         based on the precise clock rather than period, then the clocks
         lost during period is scaled can be compensated properly
      
      2) If periodic_timer_update() is called due to RegA reconfiguration,
         i.e, the period is updated, current time is not the start point
         for the next periodic timer, instead, which should start from the
         last interrupt, otherwise, the clock in VM will become slow
      
         This patch takes the clocks from last interrupt to current clock
         into account and compensates the clocks for the next interrupt,
         especially if a complete interrupt was lost in this window, the
         time can be caught up by LOST_TICK_POLICY_SLEW
      
      Signed-off-by: default avatarTai Yunfang <yunfangtai@tencent.com>
      Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@tencent.com>
      Message-Id: <20170510083259.3900-3-xiaoguangrong@tencent.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      369b4135
    • Xiao Guangrong's avatar
      mc146818rtc: update periodic timer only if it is needed · 9a6e2dcf
      Xiao Guangrong authored
      
      Currently, the timer is updated whenever RegA or RegB is written
      even if the periodic timer related configuration is not changed
      
      This patch optimizes it slightly to make the update happen only
      if its period or enable-status is changed, also later patches are
      depend on this optimization
      
      Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@tencent.com>
      Message-Id: <20170510083259.3900-2-xiaoguangrong@tencent.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9a6e2dcf
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/xtensa/tags/20170606-xtensa' into staging · 65dfad62
      Peter Maydell authored
      
      target/xtensa fixes:
      
      - fix read/write simcall mapping flags and return value;
      - use -serial option to direct console output of sim machine to QEMU chardev;
      - fix handling of unknown registers in the gdbstub.
      
      # gpg: Signature made Tue 06 Jun 2017 11:46:05 BST
      # gpg:                using RSA key 0x51F9CC91F83FA044
      # gpg: Good signature from "Max Filippov <filippov@cadence.com>"
      # gpg:                 aka "Max Filippov <max.filippov@cogentembedded.com>"
      # gpg:                 aka "Max Filippov <jcmvbkbc@gmail.com>"
      # Primary key fingerprint: 2B67 854B 98E5 327D CDEB  17D8 51F9 CC91 F83F A044
      
      * remotes/xtensa/tags/20170606-xtensa:
        target/xtensa: handle unknown registers in gdbstub
        target/xtensa: support output to chardev console
        target/xtensa: fix return value of read/write simcalls
        target/xtensa: fix mapping direction in read/write simcalls
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      65dfad62
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/armbru/tags/pull-misc-2017-06-06' into staging · 572db7cd
      Peter Maydell authored
      
      Miscellaneous patches for 2017-06-06
      
      # gpg: Signature made Tue 06 Jun 2017 08:30:43 BST
      # gpg:                using RSA key 0x3870B400EB918653
      # 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-misc-2017-06-06:
        monitor: fix object_del for command-line-created objects
        tests: check-qom-proplist: add checks for cmdline-created objects
        virtio-scsi-test: Use scsi-hd instead of legacy scsi-disk
        block: Clarify documentation of BlockInfo member io-status
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      572db7cd
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.10-20170606' into staging · e02bbe19
      Peter Maydell authored
      
      ppc patch queue 2017-06-06
      
      Accumulated patches for ppc targets and the pseries machine type.
      
      The big thing in this batch is a start on a substantial cleanup of the
      pseries hotplug mechanisms, which were pretty confusing.  For now
      these shouldn't cause substantial behavioural changes, but I am hoping
      these lead to clearer code and eventually to fixes for the bugs we
      have in hotplug handling, particularly when hotplug and migration are
      combined.
      
      The remaining patches are mostly bugfixes.
      
      # gpg: Signature made Tue 06 Jun 2017 03:48:50 BST
      # gpg:                using RSA key 0x6C38CACA20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
      # gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>"
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-2.10-20170606:
        spapr: Remove some non-useful properties on DRC objects
        spapr: Eliminate spapr_drc_get_type_str()
        spapr: Move configure-connector state into DRC
        spapr: Clean up spapr_dr_connector_by_*()
        spapr: Introduce DRC subclasses
        spapr/drc: don't migrate DRC of cold-plugged CPUs and LMBs
        spapr: Allow boot from vhost-*-scsi backends
        ppc/pnv: check the return value of fdt_setprop()
        spapr_nvram: Check return value from blk_getlength()
        target/ppc: Fixup set_spr error in h_register_process_table
        target-ppc: Fix openpic timer read register offset
        spapr: Make DRC get_index and get_type methods into plain functions
        spapr: Abolish DRC set_configured method
        spapr: Abolish DRC get_fdt method
        spapr: Move DRC RTAS calls into spapr_drc.c
        migration: Mark CPU states dirty before incoming migration/loadvm
        migration: remove register_savevm()
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      e02bbe19
    • Max Filippov's avatar
      target/xtensa: handle unknown registers in gdbstub · dd7b952b
      Max Filippov authored
      
      Xtensa cores may have registers of types/sizes not supported by the
      gdbstub accessors. Ignore writes to such registers and return zero on
      read, but always return correct register size, so that gdb on the other
      side is able to access all registers in the packet holding unsupported
      registers in the middle. This fixes gdb interaction with cores that have
      vector/custom TIE registers.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      dd7b952b
    • Max Filippov's avatar
      target/xtensa: support output to chardev console · 8128b3e0
      Max Filippov authored
      
      In semihosting mode QEMU allows guest to read and write host file
      descriptors directly, including descriptors 0..2, a.k.a. stdin, stdout
      and stderr. Sometimes it's desirable to have semihosting console
      controlled by -serial option, e.g. to connect it to network.
      
      Add semihosting console to xtensa-semi.c, open it in the 'sim' machine
      in the presence of -serial option and direct stdout and stderr to it
      when it's present.
      
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      8128b3e0
    • Max Filippov's avatar
      target/xtensa: fix return value of read/write simcalls · 347ec030
      Max Filippov authored
      
      Return value of read/write simcalls is not calculated correctly in case
      of operations crossing page boundary and in case of short reads/writes.
      Read and write simcalls should return the size of data actually
      read/written or -1 in case of error.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      347ec030
    • Max Filippov's avatar
      target/xtensa: fix mapping direction in read/write simcalls · 30c2afd1
      Max Filippov authored
      
      Read and write simcalls map physical memory to access I/O buffers, but
      'read' simcall need to map it for writing and 'write' simcall need to
      map it for reading, i.e. the opposite of what they do now. Fix that.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      30c2afd1
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/ehabkost/tags/x86-and-machine-pull-request' into staging · a65afaae
      Peter Maydell authored
      
      x86 and machine queue, 2017-06-05
      
      # gpg: Signature made Mon 05 Jun 2017 19:58:01 BST
      # gpg:                using RSA key 0x2807936F984DC5A6
      # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>"
      # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6
      
      * remotes/ehabkost/tags/x86-and-machine-pull-request:
        scripts: Test script to look for -device crashes
        qemu.py: Add QEMUMachine.exitcode() method
        qemu.py: Don't set _popen=None on error/shutdown
        spapr: cleanup spapr_fixup_cpu_numa_dt() usage
        numa: move numa_node from CPUState into target specific classes
        numa: make hmp 'info numa' fetch numa nodes from qmp_query_cpus() result
        numa: make sure that all cpus have has_node_id set if numa is enabled
        numa: move default mapping init to machine
        numa: consolidate cpu_preplug fixups/checks for pc/arm/spapr
        pc: Use "min-[x]level" on compat_props
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      a65afaae
    • Michael Roth's avatar
      monitor: fix object_del for command-line-created objects · c645d5ac
      Michael Roth authored
      
      Currently objects specified on the command-line are only partially
      cleaned up when 'object_del' is issued in either HMP or QMP: the
      object itself is fully finalized, but the QemuOpts are not removed.
      This results in the following behavior:
      
        x86_64-softmmu/qemu-system-x86_64 -monitor stdio \
          -object memory-backend-ram,id=ram1,size=256M
      
        QEMU 2.7.91 monitor - type 'help' for more information
        (qemu) object_del ram1
        (qemu) object_del ram1
        object 'ram1' not found
        (qemu) object_add memory-backend-ram,id=ram1,size=256M
        Duplicate ID 'ram1' for object
        Try "help object_add" for more information
      
      which can be an issue for use-cases like memory hotplug.
      
      This happens on the HMP side because hmp_object_add() attempts to
      create a temporary QemuOpts entry with ID 'ram1', which ends up
      conflicting with the command-line-created entry, since it was never
      cleaned up during the previous hmp_object_del() call.
      
      We address this by adding a check in user_creatable_del(), which
      is called by both qmp_object_del() and hmp_object_del() to handle
      the actual object cleanup, to determine whether an option group entry
      matching the object's ID is present and removing it if it is.
      
      Note that qmp_object_add() never attempts to create a temporary
      QemuOpts entry, so it does not encounter the duplicate ID error,
      which is why this isn't generally visible in libvirt.
      
      Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Cc: Eric Blake <eblake@redhat.com>
      Cc: Daniel Berrange <berrange@redhat.com>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      Reviewed-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <1496531612-22166-3-git-send-email-mdroth@linux.vnet.ibm.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      c645d5ac
    • Michael Roth's avatar
      tests: check-qom-proplist: add checks for cmdline-created objects · a1af255f
      Michael Roth authored
      
      check-qom-proplist originally added tests for verifying that
      object-creation helpers object_new_with_{props,propv} behaved in
      similar fashion to the "traditional" method involving setting each
      individual property separately after object creation rather than
      via a single call.
      
      Another similar "helper" for creating Objects exists in the form of
      objects specified via -object command-line parameters. By that
      rationale, we extend check-qom-proplist to include similar checks
      for command-line-created objects by employing the same
      qemu_opts_parse()-based parsing the vl.c employs.
      
      This parser has a side-effect of parsing the object's options into
      a QemuOpt structure and registering this in the global QemuOptsList
      using the Object's ID. This can conflict with future Object instances
      that attempt to use the same ID if we don't ensure this is cleaned
      up as part of Object finalization, so we include a FIXME stub to test
      for this case, which will then be resolved in a subsequent patch.
      
      Suggested-by: default avatarDaniel Berrange <berrange@redhat.com>
      Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Cc: Eric Blake <eblake@redhat.com>
      Cc: Daniel Berrange <berrange@redhat.com>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <1496531612-22166-2-git-send-email-mdroth@linux.vnet.ibm.com>
      [Comment formatting tidied up]
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      a1af255f
    • Markus Armbruster's avatar
      virtio-scsi-test: Use scsi-hd instead of legacy scsi-disk · 8ee47a88
      Markus Armbruster authored
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <1494327362-30727-3-git-send-email-armbru@redhat.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      8ee47a88
    • Markus Armbruster's avatar
      block: Clarify documentation of BlockInfo member io-status · f6f55aff
      Markus Armbruster authored
      
      Say "SCSI except scsi-generic" instead of "scsi-disk", because
      scsi-disk could mean either scsi-disk.c (which is correct) or device
      model scsi-disk (which would be incorrect).
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <1494327362-30727-2-git-send-email-armbru@redhat.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      f6f55aff
  3. Jun 05, 2017
Loading