1. 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
  2. 14 9月, 2009 1 次提交
    • D
      Save vcpuinfo in status file · f2ad7824
      Daniel P. Berrange 提交于
      * src/qemu_driver.c: Don't trust monitor for vcpu PID info on
        restart
      * src/domain_conf.c: Save and load vCPU PID info from domain
        status file
      f2ad7824
  3. 08 9月, 2009 1 次提交
  4. 04 9月, 2009 1 次提交
    • R
      Fix several memory leaks · 0cf672fa
      Ryota Ozaki 提交于
      * src/domain_conf.c src/network_conf.c src/qemu_conf.c
        src/storage_backend_fs.c: various problems spotted by valgrind
        through libvirt code
      0cf672fa
  5. 03 9月, 2009 3 次提交
    • D
      Add support for setting disk drive serial numbers · 85d15b51
      Daniel P. Berrange 提交于
      * docs/schemas/domain.rng: Add <serial> element to disks
      * src/domain_conf.h, src/domain_conf.c: XML parsing and
        formatting for disk serial numbers
      * src/qemu_conf.c: Set serial number when launching guests
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args,
        tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.xml: Add
        serial number to XML test
      85d15b51
    • D
      Support configuration of huge pages in guests · d823a05a
      Daniel P. Berrange 提交于
      Add option to domain XML for
      
           <memoryBacking>
              <hugepages/>
           </memoryBacking>
      
      * configure.in: Add check for mntent.h
      * qemud/libvirtd_qemu.aug, qemud/test_libvirtd_qemu.aug, src/qemu.conf
        Add 'hugetlbfs_mount' config parameter
      * src/qemu_conf.c, src/qemu_conf.h: Check for -mem-path flag in QEMU,
        and pass it when hugepages are requested.
        Load hugetlbfs_mount config parameter, search for mount if not given.
      * src/qemu_driver.c: Free hugetlbfs_mount/path parameter in driver shutdown.
        Create directory for QEMU hugepage usage, chowning if required.
      * docs/formatdomain.html.in: Document memoryBacking/hugepages elements
      * docs/schemas/domain.rng: Add memoryBacking/hugepages elements to schema
      * src/util.c, src/util.h, src/libvirt_private.syms: Add virFileFindMountPoint
        helper API
      * tests/qemuhelptest.c: Add -mem-path constants
      * tests/qemuxml2argvtest.c, tests/qemuxml2xmltest.c: Add tests for hugepage
        handling
      * tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml,
        tests/qemuxml2argvdata/qemuxml2argv-hugepages.args: Data files for
        hugepage tests
      d823a05a
    • P
      Generic parsing support for video acceleration · 6aa576cd
      Pritesh Kothari 提交于
      * docs/schemas/domain.rng: augment the video model with an optional
        acceleration element with optional accel2d and accel3d flags
      * src/domain_conf.c src/domain_conf.h: exten the virDomainVideoDef
        structure with an optional accel field, virDomainVideoAccelDefParseXML
        and virDomainVideoAccelDefFormat functions to parse and serialize
        the structure.
      6aa576cd
  6. 02 9月, 2009 2 次提交
    • D
      Don't blindly reorder disk drives · 2d6adabd
      Daniel P. Berrange 提交于
      Calling qsort() on the disks array causes disk to be
      unneccessarily re-ordered, potentially breaking the
      ability to boot if the boot disk gets moved later in
      the list. The new algorithm will insert a new disk as
      far to the end of the list as possible, while being
      ordered correctly wrt other disks on the same bus.
      
      * src/domain_conf.c, src/domain_conf.h: Remove disk sorting
        routines. Add API to insert a disk into existing list at
        the optimal position, without resorting disks
      * src/libvirt_private.syms: Export virDomainDiskInsert
      * src/xend_internal.c, src/xm_internal.c: Remove calls to
        qsort, use virDomainDiskInsert instead.
      * src/qemu_driver.c: Remove calls to qsort, use virDoaminDiskInsert
        instead. Fix reordering bugs when hotunplugging disks and
        networks. Fix memory leak in disk/net unplug
      2d6adabd
    • M
      Attach encryption information to virDomainDiskDef. · f340964d
      Miloslav Trmač 提交于
      The XML allows <encryption format='unencrypted'/>, this implementation
      canonicalizes the internal representation so that "disk->encryption" is
      non-NULL iff encryption information is available.
      
      A domain with partial encryption information can be defined,
      completeness of the information is not verified.  The domain won't
      start until the remaining information is added, of course.
      
      * docs/formatdomain.html, docs/formatdomain.html.in: Document
        new encryption options for disks
      * docs/schemas/domain.rng: Pull in storage encryption schema
        rules
      * src/domain_conf.h, src/domain_conf.c: Wire up storage encryption
        XML parsing/formatting APIs
      f340964d
  7. 17 8月, 2009 1 次提交
    • D
      Fix LXC driver crash when kernel doesn't support clone · e403f8d4
      Daniel P. Berrange 提交于
      * src/domain_conf.c: Make virDomainObjListFree a no-op if list
        is NULL
      * src/domain_event.c: make virDomainEventCallbackListFree a no-op
        if event list is NULL
      * src/lxc_driver.c: Log a message if LXC driver does not startup
        due to lacking kernel support
      e403f8d4
  8. 14 8月, 2009 1 次提交
    • M
      Add host PCI device hotplug support · 0c5b7b93
      Mark McLoughlin 提交于
      Attaching a host PCI device to a qemu guest is done with a
      straightforward 'pci_add auto host host=XX:XX.X' command.
      
      Like with NIC and disk hotplug, we need to retain the guest PCI address
      assigned by qemu so that we can use it for hot-unplug.
      
      Identifying a device for detach is done using the host PCI address.
      
      Managed mode is handled by detaching/resetting the device before
      attaching it to the guest and re-attaching it after detaching it from
      the guest.
      
      * src/qemu_driver.c: add qemudDomainAttachHostPciDevice() and
        qemudDomainDetachHostPciDevice()
      
      * src/domain_conf.h: add somewhere to store the guest PCI address
      
      * src/domain_conf.c: handle formatting and parsing the guest PCI
        address
      0c5b7b93
  9. 24 7月, 2009 2 次提交
    • E
      First version of the Power Hypervisor driver · a7a82f98
      Eduardo Otubo 提交于
      Features supported:
      - Connects to HMC/VIOS or IVM systems.
      - Life cycle commands (resume and shutdown).
      - dumpxml
      - 'list' and 'list --all'
      
      What is being implemented:
      - better and centralized control for UUID
      - definexml
      - CPU management commands
      
      * src/domain_conf.c src/domain_conf.h: first version of the driver
      * configure.in src/Makefile.am include/libvirt/virterror.h
        src/domain_conf.[ch] src/libvirt.c src/virterror.c: glue the driver
        in the general framework
      a7a82f98
    • L
      Add bare format string to printf-derivatives troubles · 165ed4a0
      Laine Stump 提交于
      * src/datatypes.c src/domain_conf.c src/interface_conf.c
        src/lxc_driver.c src/qemu_driver.c src/storage_backend.c src/virsh.c:
        add bare %s format string to printf-derivatives called with no format
        string
      165ed4a0
  10. 22 7月, 2009 6 次提交
    • M
      Retain PCI address from NIC attach · 4e21a95a
      Mark McLoughlin 提交于
      When we pci_add a NIC, we need to retain the PCI address assigned by
      qemu for using during detach.
      
      * src/qemu_driver.c: use qemudParsePciAddReply() to pull the PCI
        address from the pci_add reply
      
      * src/domain_conf.c: handle storing and parsing the PCI address in the
        domain state XML file
      4e21a95a
    • M
      Store the interface vlan number in the domain state · 30605477
      Mark McLoughlin 提交于
      Currently, an interface's vlan number corresponds to its index in
      the table of network interfaces. That is no longer true when we
      allow devices to be removed.
      
      To fix this, we store the vlan number in the domain's state XML
      so that it survives libvirtd restarts.
      
      * src/domain_conf.h: add vlan number to virDomainNetDef
      
      * src/domain_conf.c: store it in XML as <state vlan='N'/>, defaulting
        to -1 if this is state saved by a previous version of libvirt
      
      * src/qemu_conf.c: assign vlan numbers before starting qemu
      30605477
    • M
      Add NIC and hostnet names to domain state XML · 36c820e6
      Mark McLoughlin 提交于
      The qemu driver needs to assign and keep track of identifiers for
      network devices so that it can remove them. We need to keep this state
      across libvirtd restarts, but it's not configuration that needs to
      be kept across guest restarts.
      
      * src/domain_conf.c: parse and format <state nic="foo" hostnet="bar"/>
      36c820e6
    • M
      Assign names to qemu NICs and network backends · c23dae4e
      Mark McLoughlin 提交于
      We need these so that we can remove the devices via the monitor.
      
      * src/domain_conf.h: add nic_name and hostnet_name to virDomainNetDef
      
      * src/domain_conf.c: free nic_name and hostnet_name
      
      * src/qemu_conf.c: add qemuAssignNetNames(), use it if qemu has
        support for the param and pass the names on the command line
      
      * tests/qemuxml2argv*: add a test for this
      c23dae4e
    • M
      Retain disk PCI address across libvirtd restarts · 01654107
      Mark McLoughlin 提交于
      When we hot-plug a disk device into a qemu guest, we need to retain its
      PCI address so that it can be removed again later. Currently, we do
      retain the slot number, but not across libvirtd restarts.
      
      Add <state devaddr="xxxx:xx:xx"/> to the disk device XML config when the
      VIR_DOMAIN_XML_INTERNAL_STATUS flag is used. We still don't parse the
      domain and bus number, but the format allows us to do that in future.
      
      * src/domain_conf.h: replace slotnum with pci_addr struct, add helper
        for testing whether the address is valid
      
      * src/domain_conf.c: handle formatting and parsing the address
      
      * src/qemu_driver.c: store the parsed slot number as a full PCI address,
        and use this address with the pci_del monitor command
      
      * src/vbox/vbox_tmpl.c: we're debug printing slotnum here even though
        it can never be set, just delete it
      01654107
    • M
      Add internal XML parsing/formatting flag · aa98871c
      Mark McLoughlin 提交于
      We need to store things like device names and PCI slot numbers in the
      qemu domain state file so that we don't lose that information on
      libvirtd restart. Add a flag to indicate that this information should
      be parsed or formatted.
      
      Make bit 16 and above of the flags bitmask for internal use only and
      consume the first bit for this new status flag.
      
      * include/libvirt/libvirt.h: add VIR_DOMAIN_XML_FLAGS_MASK
      
      * src/libvirt.c: reject private flags in virDomainGetXMLDesc()
      
      * src/domain_conf.h: add VIR_DOMAIN_XML_INTERNAL_STATUS
      
      * src/domain_conf.c: pass the flag from virDomainObjParseXML() and
        virDomainSaveStatus
      aa98871c
  11. 11 7月, 2009 1 次提交
  12. 10 7月, 2009 3 次提交
    • M
      Use virDomainChrTypeFromString() instead of open coding · 13709bdb
      Mark McLoughlin 提交于
      * src/domain_conf.c: replace open coded chr type parsing with
        virDomainChrTypeFromString(), retaining the existing semantics
        where unknown types are silently mapped to the "null" type and
        "pty" is used if none is specified
      13709bdb
    • M
      Switch to using a unix socket for the qemu monitor · 62455ed8
      Mark McLoughlin 提交于
      We keep support for the pty based monitor so that we can re-connect
      to VMs started by older versions of libvirtd.
      
      * src/domain_conf.c: handle formatting and parsing unix monitors
      
      * src/qemu_driver.c: add qemudOpenMonitorUnix(), remove the monitor
        pty path searching from qemudFindCharDevicePTYs(), switch
        qemudStartVMDaemon() and qemuDomainXMLToNative() to using a unix
        monitor
      
      * tests/qemuxml2argvtest.c: switch to using a unix monitor
      
      * tests/qemuxml2argvdata/qemuxml2argv-*.args: update test data
      62455ed8
    • M
      Add the monitor type to the domain state XML · 05d377bd
      Mark McLoughlin 提交于
      There are no functional changes in this patch apart from adding the
      monitor type to the state XML.
      
      The patch mostly consists of switching to use virDomainChrDef every
      where to describe the monitor.
      
      * src/domain_conf.h: replace monitorpath with monitor_chr
      
      * src/domain_conf.c: handle parsing the monitor type and initializing
        monitor chr
      
      * src/qemu_conf.[ch]: make qemudBuildCommandLine take a
        virDomainChrDefPtr and use that to build the -monitor parameter
      
      * src/qemu_driver.c: split pty specific and common code from
        qemudOpenMonitor, have qemudStartVMDaemon() initialize monitor_chr
      
      * tests/qemuxml2argvtest.c: update for qemudBuildCommandLine() change
      05d377bd
  13. 08 7月, 2009 1 次提交
  14. 25 6月, 2009 1 次提交
    • D
      Fix a couple of state problems · d45242c6
      Daniel Veillard 提交于
      * src/qemu_driver.c: fix a domain state problem after
        migration, patch  by Federico Simoncelli, fixes #507537
      * src/domain_conf.c:  fix a transcient domain state problem after
        destroy, patch  by Federico Simoncelli, fixes #507304
      * AUTHORS: add Federico Simoncelli and Javier Fontan
      daniel
      d45242c6
  15. 17 6月, 2009 1 次提交
  16. 16 6月, 2009 1 次提交
  17. 12 6月, 2009 1 次提交
  18. 03 6月, 2009 1 次提交
  19. 29 5月, 2009 1 次提交
  20. 25 5月, 2009 1 次提交
    • D
      Include the OpenNebula driver · b811851b
      Daniel Veillard 提交于
      * src/opennebula/one_conf.[ch] src/opennebula/one_driver.[ch]:
        the OpenNebula driver
      * configure.in include/libvirt/virterror.h qemud/Makefile.am
        qemud/qemud.c src/Makefile.am src/domain_conf.[ch] src/driver.h
        src/libvirt.c src/virterror.c: integration of the OpenNebula
        driver in the libvirt infrastructure
      * AUTHORS: add Abel Miguez Rodriguez
      daniel
      b811851b
  21. 15 5月, 2009 1 次提交
  22. 11 5月, 2009 1 次提交
    • D
      Support for 'internal' network · 070c1c82
      Daniel Veillard 提交于
      * src/domain_conf.[ch] docs/schemas/domain.rng: add support
        for internal network in the generic part of the code, and
        update the Relax-NG grammar accordingly, patch by Pritesh Kothari
      daniel
      070c1c82
  23. 07 5月, 2009 1 次提交
    • D
      Changes needed for multiple graphics adapters · 7ee54d83
      Daniel Veillard 提交于
      * src/domain_conf.c src/domain_conf.h: parse and save multiple
        graphics elements instead of one, patch by Pritesh Kothari
      * src/qemu_conf.c src/qemu_driver.c: adapt the qemu/kvm driver for
        the new structures, patch by Pritesh Kothari
      * src/xend_internal.c src/xm_internal.c: same thing for Xen drivers
      Daniel
      7ee54d83
  24. 22 4月, 2009 1 次提交
  25. 19 4月, 2009 1 次提交
  26. 18 4月, 2009 1 次提交
    • D
      integration of the VirtualBox support · 10d16508
      Daniel Veillard 提交于
      * configure.in include/libvirt/virterror.h src/Makefile.am
        src/domain_conf.[ch] src/driver.h src/virterror.c src/vbox/README
        src/vbox/vbox_CAPI_v2_2.h src/vbox/vbox_V2_2.c
        src/vbox/vbox_XPCOMCGlue.[ch] src/vbox/vbox_driver.[ch]
        src/vbox/vbox_tmpl.c: integration of the VirtualBox support
        patches by Pritesh Kothari
      Daniel
      10d16508
  27. 03 4月, 2009 2 次提交
  28. 01 4月, 2009 1 次提交