1. 21 9月, 2012 1 次提交
  2. 21 8月, 2012 2 次提交
  3. 23 7月, 2012 1 次提交
    • O
      Desert the FSF address in copyright · f9ce7dad
      Osier Yang 提交于
      Per the FSF address could be changed from time to time, and GNU
      recommends the following now: (http://www.gnu.org/licenses/gpl-howto.html)
      
        You should have received a copy of the GNU General Public License
        along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
      
      This patch removes the explicit FSF address, and uses above instead
      (of course, with inserting 'Lesser' before 'General').
      
      Except a bunch of files for security driver, all others are changed
      automatically, the copyright for securify files are not complete,
      that's why to do it manually:
      
        src/security/security_selinux.h
        src/security/security_driver.h
        src/security/security_selinux.c
        src/security/security_apparmor.h
        src/security/security_apparmor.c
        src/security/security_driver.c
      f9ce7dad
  4. 17 7月, 2012 1 次提交
    • S
      Convert 'raw MAC address' usages to use virMacAddr · 387117ad
      Stefan Berger 提交于
      Introduce new members in the virMacAddr 'class'
      - virMacAddrSet: set virMacAddr from a virMacAddr
      - virMacAddrSetRaw: setting virMacAddr from raw 6 byte MAC address buffer
      - virMacAddrGetRaw: writing virMacAddr into raw 6 byte MAC address buffer
      - virMacAddrCmp: comparing two virMacAddr
      - virMacAddrCmpRaw: comparing a virMacAddr with a raw 6 byte MAC address buffer
      
      then replace raw MAC addresses by replacing
      
      - 'unsigned char *' with virMacAddrPtr
      - 'unsigned char ... [VIR_MAC_BUFLEN]' with virMacAddr
      
      and introduce usage of above functions where necessary.
      387117ad
  5. 21 2月, 2012 1 次提交
    • C
      caps: Improve error if passed an unknown arch · e1ecba46
      Cole Robinson 提交于
      Previously we would have:
      
      "os type 'hvm' & arch 'idontexist' combination is not supported"
      
      Now we get
      
      "No guest options available for arch 'idontexist'"
      
      or if options available but guest OS type not applicable:
      
      "No os type 'xen' available for arch 'x86_64'"
      e1ecba46
  6. 28 1月, 2012 1 次提交
  7. 17 1月, 2012 1 次提交
    • J
      Add support for cpu mode attribute · f7dd3a4e
      Jiri Denemark 提交于
      The mode can be either of "custom" (default), "host-model",
      "host-passthrough". The semantics of each mode is described in the
      following examples:
      
      - guest CPU is a default model with specified topology:
          <cpu>
            <topology sockets='1' cores='2' threads='1'/>
          </cpu>
      
      - guest CPU matches selected model:
          <cpu mode='custom' match='exact'>
            <model>core2duo</model>
          </cpu>
      
      - guest CPU should be a copy of host CPU as advertised by capabilities
        XML (this is a short cut for manually copying host CPU specification
        from capabilities to domain XML):
          <cpu mode='host-model'/>
      
        In case a hypervisor does not support the exact host model, libvirt
        automatically falls back to a closest supported CPU model and
        removes/adds features to match host. This behavior can be disabled by
          <cpu mode='host-model'>
            <model fallback='forbid'/>
          </cpu>
      
      - the same as previous returned by virDomainGetXMLDesc with
        VIR_DOMAIN_XML_UPDATE_CPU flag:
          <cpu mode='host-model' match='exact'>
            <model fallback='allow'>Penryn</model>       --+
            <vendor>Intel</vendor>                         |
            <topology sockets='2' cores='4' threads='1'/>  + copied from
            <feature policy='require' name='dca'/>         | capabilities XML
            <feature policy='require' name='xtpr'/>        |
            ...                                          --+
          </cpu>
      
      - guest CPU should be exactly the same as host CPU even in the aspects
        libvirt doesn't model (such domain cannot be migrated unless both
        hosts contain exactly the same CPUs):
          <cpu mode='host-passthrough'/>
      
      - the same as previous returned by virDomainGetXMLDesc with
        VIR_DOMAIN_XML_UPDATE_CPU flag:
          <cpu mode='host-passthrough' match='minimal'>
            <model>Penryn</model>                        --+ copied from caps
            <vendor>Intel</vendor>                         | XML but doesn't
            <topology sockets='2' cores='4' threads='1'/>  | describe all
            <feature policy='require' name='dca'/>         | aspects of the
            <feature policy='require' name='xtpr'/>        | actual guest CPU
            ...                                          --+
          </cpu>
      f7dd3a4e
  8. 30 11月, 2011 4 次提交
    • D
      Remove powerMgmt_valid field from capabilities struct · f1f28611
      Daniel P. Berrange 提交于
      If we ensure that virNodeSuspendGetTargetMask always resets
      *bitmask to zero upon failure, there is no need for the
      powerMgmt_valid field.
      
      * src/util/virnodesuspend.c: Ensure *bitmask is zero upon
        failure
      * src/conf/capabilities.c, src/conf/capabilities.h: Remove
        powerMgmt_valid field
      * src/qemu/qemu_capabilities.c: Remove powerMgmt_valid
      f1f28611
    • D
      Move the virHostPMCapability enum helpers into capabilities.c · 6ea25cd9
      Daniel P. Berrange 提交于
      The virHostPMCapability enum helper was declared in util.h
      but implemented in capabilities.c, which is in a completely
      separate library at link time. Move the declaration into the
      capabilities.c file and rename it to match normal conventions
      
      * src/util/util.h: Remove virHostPMCapability enum decl
      * src/conf/capabilities.c: Add virCapsHostPMTarget enum
      6ea25cd9
    • D
      Fix capabilities XML to use generic terms for suspend targets · ae5e5528
      Daniel P. Berrange 提交于
      The capabilities XML uses the x86 specific terms 'S3', 'S4'
      and 'Hybrid-Syspend'. Switch it to use the same terminology
      as the API constants and virsh options, eg 'suspend_mem'
      'suspend_disk' and 'suspend_hybrid'
      
      * docs/formatcaps.html.in, docs/schemas/capability.rng,
        src/conf/capabilities.c: Rename suspend constants
      ae5e5528
    • D
      Remove internal only virHostPMCapability enum · 6fb5400f
      Daniel P. Berrange 提交于
      The internal virHostPMCapability enum just duplicates the
      public virNodeSuspendTarget enum, but with different names.
      
      * src/util/util.c: Use VIR_NODE_SUSPEND_TARGET constants
      * src/util/util.h: Remove virHostPMCapability enum
      * src/conf/capabilities.c: Use VIR_NODE_SUSPEND_TARGET_LAST
      6fb5400f
  9. 29 11月, 2011 1 次提交
    • S
      Add 'Hybrid-Suspend' power management discovery for the host · 302743f1
      Srivatsa S. Bhat 提交于
      Some systems support a feature known as 'Hybrid-Suspend', apart from the
      usual system-wide sleep states such as Suspend-to-RAM (S3) or Suspend-to-Disk
      (S4). Add the functionality to discover this power management feature and
      export it in the capabilities XML under the <power_management> tag.
      302743f1
  10. 22 11月, 2011 2 次提交
    • D
      Add strings.h include to capabilities.h for ffs() function prototype · 720442e2
      Daniel P. Berrange 提交于
      On Mingw32 the ffs() function was not declared due to missing header
      include
      
      * src/conf/capabilities.c: The ffs() function lives in strings.h
      720442e2
    • S
      Export KVM Host Power Management capabilities · e352b164
      Srivatsa S. Bhat 提交于
      This patch exports KVM Host Power Management capabilities as XML so that
      higher-level systems management software can make use of these features
      available in the host.
      
      The script "pm-is-supported" (from pm-utils package) is run to discover if
      Suspend-to-RAM (S3) or Suspend-to-Disk (S4) is supported by the host.
      If either of them are supported, then a new tag "<power_management>" is
      introduced in the XML under the <host> tag.
      
      However in case the query to check for power management features succeeded,
      but the host does not support any such feature, then the XML will contain
      an empty <power_management/> tag. In the event that the PM query itself
      failed, the XML will not contain any "power_management" tag.
      
      To use this, new APIs could be implemented in libvirt to exploit power
      management features such as S3/S4.
      e352b164
  11. 21 10月, 2011 1 次提交
    • E
      snapshot: simplify indentation of cpu features · 4eedfd07
      Eric Blake 提交于
      Auto-indent makes life a bit easier; this patch also drops unused
      arguments and replaces a misspelled flag name with two entry points
      instead, so that callers don't have to worry about how much spacing
      is present when embedding cpu elements.
      
      * src/conf/cpu_conf.h (virCPUFormatFlags): Delete.
      (virCPUDefFormat): Drop unused argument.
      (virCPUDefFormatBuf): Alter signature.
      (virCPUDefFormatBufFull): New prototype.
      * src/conf/cpu_conf.c (virCPUDefFormatBuf): Split...
      (virCPUDefFormatBufFull): ...into new function.
      (virCPUDefFormat): Adjust caller.
      * src/conf/domain_conf.c (virDomainDefFormatInternal): Likewise.
      * src/conf/capabilities.c (virCapabilitiesFormatXML): Likewise.
      * src/cpu/cpu.c (cpuBaselineXML): Likewise.
      * tests/cputest.c (cpuTestCompareXML): Likewise.
      4eedfd07
  12. 06 5月, 2011 1 次提交
    • E
      maint: rename virBufferVSprintf to virBufferAsprintf · 68ea80cf
      Eric Blake 提交于
      We already have virAsprintf, so picking a similar name helps for
      seeing a similar purpose.  Furthermore, the prefix V before printf
      generally implies 'va_list', even though this variant was '...', and
      the old name got in the way of adding a new va_list version.
      
      global rename performed with:
      
      $ git grep -l virBufferVSprintf \
        | xargs -L1 sed -i 's/virBufferVSprintf/virBufferAsprintf/g'
      
      then revert the changes in ChangeLog-old.
      68ea80cf
  13. 18 1月, 2011 1 次提交
    • J
      Introduce per-device boot element · 94234fa2
      Jiri Denemark 提交于
      Currently, boot order can be specified per device class but there is no
      way to specify exact disk/NIC device to boot from.
      
      This patch adds <boot order='N'/> element which can be used inside
      <disk/> and <interface/>. This is incompatible with the older os/boot
      element. Since not all hypervisors support per-device boot
      specification, new deviceboot flag is included in capabilities XML for
      hypervisors which understand the new boot element. Presence of the flag
      allows (but doesn't require) users to use the new style boot order
      specification.
      94234fa2
  14. 19 11月, 2010 1 次提交
    • E
      capabilities, cpu: use new array API · aca20efb
      Eric Blake 提交于
      * src/conf/capabilities.h (_virCaps, _virCapsHost, _virCapsGuest)
      (_virCapsGuestArch): Add additional fields.
      * src/conf/cpu_conf.h (_virCPUDef): Likewise.
      * src/conf/capabilities.c (virCapabilitiesFormatXML): Reflect
      updated type.
      (virCapabilitiesAddGuest, virCapabilitiesAddHostFeature)
      (virCapabilitiesAddHostMigrateTransport)
      (virCapabilitiesAddHostNUMACell, virCapabilitiesAddGuestFeature)
      (virCapabilitiesAddGuestDomain): Use new array APIs.
      * src/conf/cpu_conf.c (virCPUDefAddFeature, virCPUDefCopy)
      (virCPUDefParseXML): Likewise.
      * tests/testutilsqemu.c (testQemuCapsInit): Adjust test.
      aca20efb
  15. 21 7月, 2010 1 次提交
  16. 20 7月, 2010 1 次提交
    • D
      Add ability to set a default driver name/type when parsing disks · 03ca4204
      Daniel P. Berrange 提交于
      Record a default driver name/type in capabilities struct. Use this
      when parsing disks if value is not set in XML config.
      
      * src/conf/capabilities.h: Record default driver name/type for disks
      * src/conf/domain_conf.c: Fallback to default driver name/type
        when parsing disks
      * src/qemu/qemu_driver.c: Set default driver name/type to raw
      03ca4204
  17. 26 5月, 2010 1 次提交
    • D
      Expose a host UUID in the capabilities XML · 60881161
      Daniel P. Berrange 提交于
      Allow for a host UUID in the capabilities XML. Local drivers
      will initialize this from the SMBIOS data. If a sanity check
      shows SMBIOS uuid is invalid, allow an override from the
      libvirtd.conf configuration file
      
      * daemon/libvirtd.c, daemon/libvirtd.conf: Support a host_uuid
        configuration option
      * docs/schemas/capability.rng: Add optional host uuid field
      * src/conf/capabilities.c, src/conf/capabilities.h: Include
        host UUID in XML
      * src/libvirt_private.syms: Export new uuid.h functions
      * src/lxc/lxc_conf.c, src/qemu/qemu_driver.c,
        src/uml/uml_conf.c: Set host UUID in capabilities
      * src/util/uuid.c, src/util/uuid.h: Support for host UUIDs
      * src/node_device/node_device_udev.c: Use the host UUID functions
      * tests/confdata/libvirtd.conf, tests/confdata/libvirtd.out: Add
        new host_uuid config option to test
      60881161
  18. 10 2月, 2010 1 次提交
    • D
      Remove virConnectPtr from CPU XML APIs · f430ddb6
      Daniel P. Berrange 提交于
      The virConnectPtr is no longer required for error reporting since
      that is recorded in a thread local. Remove use of virConnectPtr
      from all APIs in cpu_conf.{h,c} and update all callers to
      match
      f430ddb6
  19. 18 12月, 2009 1 次提交
    • J
      XML parsing/formating code for CPU flags · 6695818c
      Jiri Denemark 提交于
      * include/libvirt/virterror.h src/util/virterror.c: add new domain
        VIR_FROM_CPU for errors
      * src/conf/cpu_conf.c src/conf/cpu_conf.h: new parsing module
      * src/Makefile.am proxy/Makefile.am: include new files
      * src/conf/capabilities.[ch] src/conf/domain_conf.[ch]: reference
        new code
      * src/libvirt_private.syms: private export of new entry points
      6695818c
  20. 10 12月, 2009 1 次提交
    • M
      Add virBufferFreeAndReset() and replace free() · 1b9d0744
      Matthias Bolte 提交于
      Replace free(virBufferContentAndReset()) with virBufferFreeAndReset().
      Update documentation and replace all remaining calls to free() with
      calls to VIR_FREE(). Also add missing calls to virBufferFreeAndReset()
      and virReportOOMError() in OOM error cases.
      1b9d0744
  21. 12 10月, 2009 1 次提交
    • M
      Take domain type into account when looking up default machine · 73c901a8
      Mark McLoughlin 提交于
      If one has e.g.
      
        <guest>
          <os_type>hvm</os_type>
          <arch name='x86_64'>
            <wordsize>64</wordsize>
            <emulator>/usr/bin/qemu-system-x86_64</emulator>
            <machine>pc-0.11</machine>
            <machine canonical='pc-0.11'>pc</machine>
            <machine>pc-0.10</machine>
            <machine>isapc</machine>
            <domain type='qemu'>
            </domain>
            <domain type='kvm'>
              <emulator>/usr/bin/kvm</emulator>
              <machine>pc</machine>
              <machine>isapc</machine>
            </domain>
          </arch>
        </guest>
      
      and start a guest with:
      
        <domain type='kvm'>
          ...
          <os>
            <type arch='x86_64'>hvm</type>
            ...
          </os>
        </domain>
      
      then the default machine type should be 'pc' and not 'pc-0.11'
      
      Issue was reported by Anton Protopopov.
      
      * src/capabilities.[ch]: pass the domain type to
        virCapabilitiesDefaultGuestArch() and use it to look up the default
        machine type from a specific guest domain if needed.
      
      * src/conf/domain_conf.c, src/xen/xm_internal.c: update
      
      * tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml: update
        the domain type to 'kvm' and remove the machine type to check
        that the default gets looked up correctly
      73c901a8
  22. 21 9月, 2009 1 次提交
    • D
      Move all XML configuration handling to src/conf/ · e0a48c99
      Daniel P. Berrange 提交于
      * src/capabilities.c, src/capabilities.h, src/domain_conf.c,
        src/domain_conf.h, src/domain_event.c, src/domain_event.h,
        src/interface_conf.c, src/interface_conf.h,
        src/network_conf.c, src/network_conf.h, src/node_device_conf.c,
        src/node_device_conf.h, src/secret_conf.c, src/secret_conf.h,
        src/storage_conf.c, src/storage_conf.h, src/storage_encryption_conf.c,
        src/storage_encryption_conf.h: Move to src/conf/
      * src/Makefile.am: Add -Isrc/conf to the individual build targets
        which need to use XML config APIs. Remove LIBXML_CFLAGS, LIBSSH2_CFLAGS
        and SELINUX_CFLAGS from global INCLUDES and only have them in build
        targets which actually need them.  Create a libvirt_conf.la
        convenience library for all config parsers
      * src/hostusb.h: Remove bogus include of domain_conf.h
      * tests/Makefile.am: Add -Isrc/conf. Remove bogus -I$builddir/src
        since it never has any generated header files
      * daemon/Makefile.am: Add -Isrc/conf
      * proxy/Makefile.am: Add -Isrc/conf and cope with renamed files
      * src/hash.c: Remove bogus include of libxml/threads.h
      e0a48c99
  23. 10 9月, 2009 1 次提交
  24. 03 9月, 2009 1 次提交
    • D
      Fix misc OOM bugs · 8eacfd4c
      Daniel P. Berrange 提交于
      * tests/testutils.c: Run test function twice, once to prime it for
        static allocations, once to count the non-static allocations.
      * tests/testutilsqemu.c: Initialize variable correctl
      * src/capabilities.c: Don't free machines variable upon failure
        since caller must do that
      * src/xm_internal.c: Add missing check for OOM in building VIF
        config param
      8eacfd4c
  25. 13 8月, 2009 1 次提交
    • D
      Make LXC / UML drivers robust against NUMA topology brokenness · 19bac57b
      Daniel P. Berrange 提交于
      Some kernel versions expose broken NUMA topology for some machines.
      This causes the LXC/UML drivers to fail to start. QEMU driver was
      already fixed for this problem
      
      * src/lxc_conf.c: Log and ignore failure to populate NUMA info
      * src/uml_conf.c: Log and ignore failure to populate NUMA info
      * src/capabilities.c: Reset nnumaCell to 0 after freeing
      19bac57b
  26. 02 8月, 2009 1 次提交
  27. 27 7月, 2009 2 次提交
    • M
      Add canonical machine name to capabilities output · 0f15d034
      Mark McLoughlin 提交于
      e.g. <machine canonical='pc'>pc-0.11</machine>
      
      * src/capabilities.c: output the canonical machine names in the
        capabilities output, if available
      
      * docs/schemas/capabilities.rng: add the new attribute
      0f15d034
    • M
      Add virCapsGuestMachine structure · 38fd207e
      Mark McLoughlin 提交于
      A subsequent commit will add a "canonical" field to this structure,
      this patch basically just prepares the way for that.
      
      The new type is added, along with virCapabilitiesAlloc/FreeMachines()
      helpers and a whole bunch of code to make the transition.
      
      One quirk is that virCapabilitiesAddGuestDomain() and
      virCapabilitiesAddGuest() take ownership of the machine list rather
      than duping it. This makes sense to avoid needless copying.
      
      * src/capabilities.h: add the virCapsGuestMachine struct and use it
        in virCapsGuestDomainInfo, add prototypes for new functions and
        update the AddGuest() prototypes
      
      * src/capabilities.c: add code for allocating and freeing the new
        type, change the machines parameter to AddGuest() etc.
      
      * src/libvirt_private.syms: export the new helpers
      
      * src/qemu_conf.c: update all the machine type code to use the new
        struct
      
      * src/xen_internal.c: ditto
      
      * tests/testutilsqemu.c: ditto
      38fd207e
  28. 29 6月, 2009 1 次提交
  29. 16 6月, 2009 1 次提交
    • C
      Add virCapabilities*EmulatorRequired. · 3f63c44d
      Cole Robinson 提交于
      Certain drivers always need an 'emulator' specified in the XML (qemu and lxc
      at least). Store this info in capabilities.
      
      We will eventually use this to move default emulator handling out of
      drivers and into domain_conf.*
      3f63c44d
  30. 24 3月, 2009 1 次提交
  31. 03 3月, 2009 1 次提交
  32. 31 1月, 2009 1 次提交
  33. 24 10月, 2008 1 次提交
  34. 07 7月, 2008 1 次提交