1. 03 5月, 2016 25 次提交
  2. 02 5月, 2016 15 次提交
    • B
      qemu: add default panic device to S390 guests · 73e4e10e
      Boris Fiuczynski 提交于
      This patch adds by default a panic device with model s390 to S390 guests.
      Signed-off-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      73e4e10e
    • B
      qemu: add panic device support for S390 · d8554654
      Boris Fiuczynski 提交于
      If a panic device is being defined without a model in a domain
      the default value is always overwritten with model ISA. An ISA
      bus does not exist on S390 and therefore specifying a panic device
      results in an unsupported configuration.
      Since the S390 architecture inherently provides a crash detection
      capability the panic device should be defined in the domain xml.
      
      This patch adds an s390 panic device model and prevents setting a
      device address on it.
      Signed-off-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      Reviewed-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      d8554654
    • B
    • B
      qemu: fix error message for default panic device · a1574e5c
      Boris Fiuczynski 提交于
      Adding the default bus type ISA to the message.
      Signed-off-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      a1574e5c
    • C
      fdstream: don't raise error on SIGPIPE if abort requested · a5481546
      Cole Robinson 提交于
      The iohelper dies on SIGPIPE if the stream is closed before all data
      is processed. IMO this should be an error condition for virStreamFinish
      according to docs like:
      
        * This method is a synchronization point for all asynchronous
        * errors, so if this returns a success code the application can
        * be sure that all data has been successfully processed.
      
      However for virStreamAbort, not so much:
      
        * Request that the in progress data transfer be cancelled
        * abnormally before the end of the stream has been reached.
        * For output streams this can be used to inform the driver
        * that the stream is being terminated early. For input
        * streams this can be used to inform the driver that it
        * should stop sending data.
      
      Without this, virStreamAbort will realistically always error for
      active streams like domain console. So, treat the SIGPIPE case
      as non-fatal if abort is requested.
      
      Note, this will only affect an explicit user requested abort. An
      abnormal abort, like from a server error, always raises an error
      in the daemon.
      a5481546
    • C
      rpc: protocol: Clarify VIR_NET_ERROR usage with streams · 8958dde5
      Cole Robinson 提交于
      The described protocol semantics really only apply to server initiated
      stream messages. Document the semantics for client messages.
      8958dde5
    • C
      fdstream: Raise explicit error when iohelper gets SIGPIPE · c48db92f
      Cole Robinson 提交于
      This happens when virStreamFinish/Abort are called, but iohelper
      still has data to process.
      c48db92f
    • C
      fdstream: Report error with virProcessTranslateStatus · 6b173cf5
      Cole Robinson 提交于
      Rather than poorly duplicate it
      6b173cf5
    • C
      fdstream: separate out virCommandPtr cleanup · c0e87037
      Cole Robinson 提交于
      Let's us de-nest some of the logic, and will simplify upcoming
      patches
      c0e87037
    • C
      nwfilter: Save config to disk if we generated a UUID · 441e881e
      Cole Robinson 提交于
      libvirt-daemon-config-nwfilter will put a bunch of xml configs
      into /etc/libvirt/nwfilter. These configs don't hardcode a UUID
      and depends on libvirt to generate one. However the generated UUID
      is never saved to disk, unless the user manually calls Define.
      
      This makes daemon reload quite noisy with many errors like:
      
      error : virNWFilterObjAssignDef:3101 : operation failed: filter 'allow-incoming-ipv4' already exists with uuid 50def3b5-48d6-46a3-b005-cc22df4e5c5c
      
      Because a new UUID is generated every time the config is read from
      disk, so libvirt constantly thinks it's finding a new nwfilter.
      
      Detect if we generated a UUID when the config file is loaded; if so,
      resave the new contents to disk to ensure the UUID is persisteny.
      
      This is similar to what was done in commit a47ae7c0 with virtual
      networks and generated MAC addresses
      441e881e
    • C
      nwfilter: Push configFile building into LoadConfig · 0feb1c6c
      Cole Robinson 提交于
      This matches the pattern used for network object APIs, and we want
      configDir in LoadConfig for upcoming patches
      0feb1c6c
    • C
      nwfilter: Fix potential locking problems on ObjLoad failure · ab05abdb
      Cole Robinson 提交于
      In virNWFilterObjLoad we can still fail after virNWFilterObjAssignDef,
      but we don't unlock and free the created virNWFilterObjPtr in the
      cleanup path.
      
      The bit we are trying to do after AssignDef is just STRDUP in the
      configFile path. However caching the configFile in the NWFilterObj
      is largely redundant and doesn't follow the same pattern we use
      for domain and network objects.
      
      So just remove all the configFile caching which fixes the latent
      bug as a side effect.
      ab05abdb
    • C
      network: Fix segfault on daemon reload · 26af7e4e
      Cole Robinson 提交于
      We will segfault of a daemon reload picks up a new network config
      that needs to be autostarted. We shouldn't be passing NULL for
      network_driver here. This seems like it was missed in the larger
      rework in commit 1009a61e
      26af7e4e
    • S
      send default USB controller in xml to destination during migration · 192a53e0
      Shivaprasad G Bhat 提交于
      The default USB controller is not sent to destination as the older versions
      of libvirt(0.9.4 or earlier as I see in commit log of 409b5f54) didn't
      support them. For some archs where the support started much later can
      safely send the USB controllers without this worry. So, send the controller
      to destination for all archs except x86. Moreover this is not very applicable
      to x86 as the USB controller has model ich9_ehci1 on q35 and for pc-i440fx,
      there cant be any slots before USB as it is fixed on slot 1.
      
      The patch fixes a bug that, if the USB controller happens to occupy
      a slot after disks/interfaces and one of them is hot-unplugged, then
      the default USB controller added on destination takes the smallest slot
      number and that would lead to savestate mismatch and migration
      failure. Seen and verified on PPC64.
      Signed-off-by: NShivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
      192a53e0
    • C
      conf: format runtime DAC seclabel, unless MIGRATABLE · 601531d6
      Cole Robinson 提交于
      We historically format runtime seclabel selinux/apparmor values,
      however we skip formatting runtime DAC values. This was added in
      
      commit 990e46c4
      Author: Marcelo Cerri <mhcerri@linux.vnet.ibm.com>
      Date:   Fri Aug 31 13:40:41 2012 +0200
      
          conf: Avoid formatting auto-generated DAC labels
      
      to maintain migration compatibility with libvirt < 0.10.0.
      
      However the formatting was skipped unconditionally. Instead only
      skip formatting in the VIR_DOMAIN_DEF_FORMAT_MIGRATABLE case.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1215833
      601531d6