1. 20 6月, 2013 3 次提交
    • M
      libxl: populate xenstore memory entries at startup, handle dom0_mem · 7ed47d16
      Marek Marczykowski-Górecki 提交于
      libxl uses some xenstore entries for hints in memory management
      (especially when starting new domain). This includes dom0 memory limit
      and Xen free memory margin, based on current system state. Entries are
      created at first function usage, so force such call at daemon startup,
      which most likely will be before any domain startup.
      Also prevent automatic memory management if dom0_mem= option passed to
      xen hypervisor - it is known to be incompatible with autoballoon.
      Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
      7ed47d16
    • J
      lxc: Resolve issue with GetScheduler APIs for non running domain · 38ada092
      John Ferlan 提交于
      As a consequence of the cgroup layout changes from commit 'cfed9ad4', the
      lxcDomainGetSchedulerParameters[Flags]()' and lxcGetSchedulerType() APIs
      failed to return data for a non running domain.  This can be seen through
      a 'virsh schedinfo <domain>' command which returns:
      
      Scheduler      : Unknown
      error: Requested operation is not valid: cgroup CPU controller is not mounted
      
      Prior to that change a non running domain would return:
      
      Scheduler      : posix
      cpu_shares     : 0
      vcpu_period    : 0
      vcpu_quota     : 0
      emulator_period: 0
      emulator_quota : 0
      
      This patch will restore the capability to return configuration only data
      for a non running domain regardless of whether cgroups are available.
      38ada092
    • J
      qemu: Resolve issue with GetScheduler APIs for non running domain · b2375453
      John Ferlan 提交于
      As a consequence of the cgroup layout changes from commit '632f78ca', the
      qemuDomainGetSchedulerParameters[Flags]()' and qemuGetSchedulerType() APIs
      failed to return data for a non running domain.  This can be seen through
      a 'virsh schedinfo <domain>' command which returns:
      
      Scheduler      : Unknown
      error: Requested operation is not valid: cgroup CPU controller is not mounted
      
      Prior to that change a non running domain would return:
      
      Scheduler      : posix
      cpu_shares     : 0
      vcpu_period    : 0
      vcpu_quota     : 0
      emulator_period: 0
      emulator_quota : 0
      
      This patch will restore the capability to return configuration only data
      for a non running domain regardless of whether cgroups are available.
      b2375453
  2. 19 6月, 2013 3 次提交
  3. 18 6月, 2013 13 次提交
    • P
      migration: Don't propagate VIR_MIGRATE_ABORT_ON_ERROR · 5379bb0f
      Peter Krempa 提交于
      This flag is meant for errors happening on the source of the migration
      and isn't used on the destination. To allow better migration
      compatibility, don't propagate it to the destination.
      5379bb0f
    • P
      migration: Make erroring out on I/O error controllable by flag · cf6d56ac
      Peter Krempa 提交于
      Paolo Bonzini pointed out that it's actually possible to migrate a qemu
      instance that was paused due to I/O error and it will be able to work on
      the destination if the storage is accessible.
      
      This patch introduces flag VIR_MIGRATE_ABORT_ON_ERROR that cancels the
      migration in case an I/O error happens while it's being performed and
      allows migration without this flag. This flag can be possibly used for
      other error reasons that may be introduced in the future.
      cf6d56ac
    • J
      ddf8ad82
    • M
      qemu_migration: Move waiting for SPICE migration · 9da7b11b
      Michal Privoznik 提交于
      Currently, we wait for SPICE to migrate in the very same loop where we
      wait for qemu to migrate. This has a disadvantage of slowing seamless
      migration down. One one hand, we should not kill the domain until all
      SPICE data has been migrated.  On the other hand, there is no need to
      wait in the very same loop and hence slowing down 'cont' on the
      destination. For instance, if users are watching a movie, they can
      experience the movie to be stopped for a couple of seconds, as
      processors are not running nor on src nor on dst as libvirt waits for
      SPICE to migrate. We should move the waiting phase to migration CONFIRM
      phase.
      9da7b11b
    • C
      spec: Enable KVM support on ARM · ce672cde
      Cole Robinson 提交于
      F20/rawhide has support for this.
      
      From: Peter Robinson <pbrobinson@gmail.com>
      ce672cde
    • O
      virsh: Support SCSI_GENERIC cap flag for nodedev-list · 9046b80d
      Osier Yang 提交于
      Document for nodedev-list is also updated.
      9046b80d
    • O
      4a7b3e58
    • O
      nodedev_hal: Enumerate scsi generic device · dd451f3a
      Osier Yang 提交于
      The xml outputed by HAL backend for scsi generic device:
      
      <device>
        <name>pci_8086_2922_scsi_host_scsi_device_lun0_scsi_generic</name>
        <path>/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0</path>
        <parent>pci_8086_2922_scsi_host_scsi_device_lun0</parent>
        <capability type='scsi_generic'>
          <char>/dev/sg0</char>
        </capability>
      </device>
      dd451f3a
    • O
      nodedev_udev: Enumerate scsi generic device · 92fd4c09
      Osier Yang 提交于
      Since scsi generic device doesn't have DEVTYPE property set, the
      only way to know if it's a  scsi generic device or not is to read
      the "SUBSYSTEM" property.
      
      The XML of the scsi generic device will be like:
      
      <device>
        <name>scsi_generic_sg0</name>
        <path>/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/scsi_generic/sg0</path>
        <parent>scsi_0_0_0_0</parent>
        <capability type='scsi_generic'>
          <char>/dev/sg0</char>
        </capability>
      </device>
      92fd4c09
    • G
      qemu: set QEMU_CAPS_DEVICE_VIDEO_PRIMARY cap flag in QMP detection · 0ad9025e
      Guannan Ren 提交于
      When qemu >= 1.20, it is safe to use -device for primary video
      device as described in 4c993d8a.
      So, we are missing the cap flag in QMP capabilities detection, this
      flag can be initialized safely in virQEMUCapsInitQMPBasic.
      0ad9025e
    • O
      nodedev_udev: changes missed by commit 1aa0ba3c · bf5fbf8f
      Osier Yang 提交于
      bf5fbf8f
    • O
      nodedev_udev: Refactor udevGetDeviceType · 1aa0ba3c
      Osier Yang 提交于
      Checking if the "devtype" is NULL along with each "if" statements
      is bad. It wastes the performance, and also not good for reading.
      And also when the "devtype" is NULL, the logic is also not clear.
      
      This reorgnizes the logic of with "if...else" and a bunch of "else if".
      
      Other changes:
         * Change the function style.
         * Remove the useless debug statement.
         * Get rid of the goto
         * New helper udevDeviceHasProperty to simplify the logic for checking
           if a property is existing for the device.
         * Add comment to clarify "PCI devices don't set the DEVTYPE property"
         * s/sysfs path/sysfs name/, as udev_device_get_sysname returns the
           name instead of the full path. E.g. "sg0"
         * Refactor the comment for setting VIR_NODE_DEV_CAP_NET cap type
           a bit.
      1aa0ba3c
    • O
      nodedev: Expose sysfs path of device · c4a4603d
      Osier Yang 提交于
      The name format is constructed by libvirt, it's not that clear to
      get what the device's sysfs path should be. This exposes the device's
      sysfs path by a new tag <path>.
      
      Since the sysfspath is filled during enumerating the devices by
      either udev or HAL. It's an output-only tag.
      c4a4603d
  4. 17 6月, 2013 1 次提交
  5. 14 6月, 2013 9 次提交
  6. 13 6月, 2013 1 次提交
  7. 12 6月, 2013 6 次提交
  8. 11 6月, 2013 4 次提交
    • P
      qemu: Forbid migration of machines with I/O errors · 5f719f21
      Peter Krempa 提交于
      Such machine can't be successuflly migrated unles the I/O error has
      recovered and might lead to data corruption. Forbid this kind of
      migration.
      5f719f21
    • P
      qemu: Cancel migration if guest encoutners I/O error while migrating · caa467db
      Peter Krempa 提交于
      During a live migration the guest may receive a disk access I/O error.
      In this state the guest is unable to continue running on a remote host
      after migration as some state may be present in the kernel and not
      migrated.
      
      With this patch, the migration is canceled in such case so it can either
      continue on the source if the I/O issues are recovered or has to be
      destroyed anyways.
      caa467db
    • M
      qemu_migrate: Dispose listen address if set from config · 6546017c
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=971485
      
      As of d7f9d827 we copy the listen
      address from the qemu.conf config file in case none has been provided
      via XML. But later, when migrating, we should not include such listen
      address in the migratable XML as it is something autogenerated, not
      requested by user. Moreover, the binding to the listen address will
      likely fail, unless the address is '0.0.0.0' or its IPv6 equivalent.
      This patch introduces a new boolean attribute to virDomainGraphicsListenDef
      to distinguish autofilled listen addresses. However, we must keep the
      attribute over libvirtd restarts, so it must be kept within status XML.
      6546017c
    • J
      qemu: Fix memory leak in Prepare phase · 9313a6a7
      Jiri Denemark 提交于
      Avoid leaking virDomainDef if Prepare phase fails before it gets to
      qemuMigrationPrepareAny.
      9313a6a7