1. 23 9月, 2016 30 次提交
  2. 20 9月, 2016 1 次提交
  3. 19 9月, 2016 4 次提交
  4. 16 9月, 2016 5 次提交
    • G
      9pfs: introduce v9fs_path_sprintf() helper · e3e83f2e
      Greg Kurz 提交于
      This helper is similar to v9fs_string_sprintf(), but it includes the
      terminating NUL character in the size field.
      
      This is to avoid doing v9fs_string_sprintf((V9fsString *) &path) and
      then bumping the size.
      
      Affected users are changed to use this new helper.
      Signed-off-by: NGreg Kurz <groug@kaod.org>
      Reviewed-by: NCédric Le Goater <clg@kaod.org>
      e3e83f2e
    • G
      9pfs: drop useless v9fs_string_null() function · abdf0086
      Greg Kurz 提交于
      The v9fs_string_null() function just calls v9fs_string_free(). Also it
      only has 4 users, whereas v9fs_string_free() has 87.
      
      This patch converts users to call directly v9fs_string_free() and drops
      the useless function.
      Signed-off-by: NGreg Kurz <groug@kaod.org>
      Reviewed-by: NCédric Le Goater <clg@kaod.org>
      abdf0086
    • G
      9pfs: drop duplicate line in proxy backend · da4bc86c
      Greg Kurz 提交于
      This double free did not cause harm because v9fs_string_free() sets
      str->data to NULL and g_free(NULL) is valid.
      Signed-off-by: NGreg Kurz <groug@kaod.org>
      Reviewed-by: NCédric Le Goater <clg@kaod.org>
      da4bc86c
    • G
      9pfs: drop unused fmt strings in the proxy backend · 799fe087
      Greg Kurz 提交于
      The v9fs_request() function doesn't use its fmt argument: it passes literal
      format strings to proxy_marshal() for all commands.
      
      This patch simply drops the unused fmt argument and updates all callers
      accordingly.
      Signed-off-by: NGreg Kurz <groug@kaod.org>
      Reviewed-by: NCédric Le Goater <clg@kaod.org>
      799fe087
    • D
      vfio/pci: Fix regression in MSI routing configuration · 6d17a018
      David Gibson 提交于
      d1f6af6a "kvm-irqchip: simplify kvm_irqchip_add_msi_route" was a cleanup
      of kvmchip routing configuration, that was mostly intended for x86.
      However, it also contains a subtle change in behaviour which breaks EEH[1]
      error recovery on certain VFIO passthrough devices on spapr guests.  So far
      it's only been seen on a BCM5719 NIC on a POWER8 server, but there may be
      other hardware with the same problem.  It's also possible there could be
      circumstances where it causes a bug on x86 as well, though I don't know of
      any obvious candidates.
      
      Prior to d1f6af6a, both vfio_msix_vector_do_use() and
      vfio_add_kvm_msi_virq() used msg == NULL as a special flag to mark this
      as the "dummy" vector used to make the host hardware state sync with the
      guest expected hardware state in terms of MSI configuration.
      
      Specifically that flag caused vfio_add_kvm_msi_virq() to become a no-op,
      meaning the dummy irq would always be delivered via qemu. d1f6af6a changed
      vfio_add_kvm_msi_virq() so it takes a vector number instead of the msg
      parameter, and determines the correct message itself.  The test for !msg
      was removed, and not replaced with anything there or in the caller.
      
      With an spapr guest which has a VFIO device, if an EEH error occurs on the
      host hardware, then the device will be isolated then reset.  This is a
      combination of host and guest action, mediated by some EEH related
      hypercalls.  I haven't fully traced the mechanics, but somehow installing
      the kvm irqchip route for the dummy irq on the BCM5719 means that after EEH
      reset and recovery, at least some irqs are no longer delivered to the
      guest.
      
      In particular, the guest never gets the link up event, and so the NIC is
      effectively dead.
      
      [1] EEH (Enhanced Error Handling) is an IBM POWER server specific PCI-*
          error reporting and recovery mechanism.  The concept is somewhat
          similar to PCI-E AER, but the details are different.
      
      Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1373802
      
      Cc: Alex Williamson <alex.williamson@redhat.com>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: Gavin Shan <gwshan@au1.ibm.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Cc: qemu-stable@nongnu.org
      Fixes: d1f6af6a ("kvm-irqchip: simplify kvm_irqchip_add_msi_route")
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      6d17a018