1. 02 6月, 2011 2 次提交
    • D
      Allow leases to be hotpluged with QEMU guests · 30ffe7bc
      Daniel P. Berrange 提交于
      * src/conf/domain_conf.c, src/conf/domain_conf.h: APIs for
        inserting/finding/removing virDomainLeaseDefPtr instances
      * src/qemu/qemu_driver.c: Wire up hotplug/unplug for leases
      * src/qemu/qemu_hotplug.h, src/qemu/qemu_hotplug.c: Support
        for hotplug and unplug of leases
      30ffe7bc
    • D
      Support leases in guest XML and lock manager · 1ea83207
      Daniel P. Berrange 提交于
      A lock manager may operate in various modes. The direct mode of
      operation is to obtain locks based on the resources associated
      with devices in the XML. The indirect mode is where the app
      creating the domain provides explicit leases for each resource
      that needs to be locked. This XML extension allows for listing
      resources in the XML
      
        <devices>
           ...
           <lease>
             <lockspace>somearea</lockspace>
             <key>thequickbrownfoxjumpsoverthelazydog</key>
             <target path='/some/lease/path' offset='23432'/>
           </lease>
           ...
        </devices>
      
      The 'lockspace' is a unique identifier for the lockspace which
      the lease is associated
      
      The 'key' is a unique identifier for the resource associated
      with the lease.
      
      The 'target' is the file on disk where the leases are held.
      
      * docs/schemas/domain.rng: Add lease schema
      * src/conf/domain_conf.c, src/conf/domain_conf.h: parsing and
        formatting for leases
      * tests/qemuxml2argvdata/qemuxml2argv-lease.args,
        tests/qemuxml2argvdata/qemuxml2argv-lease.xml,
        tests/qemuxml2xmltest.c: Test XML handling for leases
      1ea83207
  2. 31 5月, 2011 2 次提交
    • D
      Add an API for comparing the ABI of two guest configurations · 08106e20
      Daniel P. Berrange 提交于
      To allow a client app to pass in custom XML during migration
      of a guest it is neccessary to ensure the guest ABI remains
      unchanged. The virDomainDefCheckABIStablity method accepts
      two virDomainDefPtr structs and compares everything in them
      that could impact the guest machine ABI
      
      * src/conf/domain_conf.c, src/conf/domain_conf.h,
        src/libvirt_private.syms: Add virDomainDefCheckABIStablity
      * src/conf/cpu_conf.c, src/conf/cpu_conf.h: Add virCPUDefIsEqual
      * src/util/sysinfo.c, src/util/sysinfo.h: Add virSysinfoIsEqual
      08106e20
    • D
      Remove unused 'target' field in virDomainHostdevDef · 0e4d4afb
      Daniel P. Berrange 提交于
      The virDomainHostdevDef struct contains a 'char *target'
      field. This is set to 'NULL' when parsing XML and never
      used / set anywhere else. Clearly it is bogus & unused
      
      * src/conf/domain_conf.c, src/conf/domain_conf.h: Remove
        target from virDomainHostdevDef
      0e4d4afb
  3. 27 5月, 2011 1 次提交
    • K
      qemu : support persistent add/delete network interface · 9c26d6f0
      KAMEZAWA Hiroyuki 提交于
      This patch allows to modify interfaces of domain(qemu)
      * src/conf/domain_conf.c src/conf/domain_conf.h src/libvirt_private.syms:
        (virDomainNetInsert)     : Insert a network device to domain definition.
        (virDomainNetIndexByMac) : Returns an index of net device in array.
        (virDomainNetRemoveByMac): Remove a NIC of passed MAC address.
      * src/qemu/qemu_driver.c
        (qemuDomainAttachDeviceConfig): add codes for NIC.
        (qemuDomainDetachDeviceConfig): add codes for NIC.
      9c26d6f0
  4. 26 5月, 2011 1 次提交
  5. 24 5月, 2011 1 次提交
    • A
      spice: support streaming-video parameter · bb1c5423
      Alon Levy 提交于
      This adds a streaming-video=filter|all|off attribute. It is used to change
      the behavior of video stream detection in spice, the default is filter (the
      default for libvirt is not to specify it - the actual default is defined in
      libspice-server.so).
      
      Usage:
      
          <graphics type='spice' autoport='yes'>
            <streaming mode='off'/>
          </graphics>
      
      Tested with the above and with tests/qemuxml2argvtest.
      Signed-off-by: NAlon Levy <alevy@redhat.com>
      bb1c5423
  6. 18 5月, 2011 1 次提交
  7. 16 5月, 2011 1 次提交
    • J
      Implement domain state reason · b046c55d
      Jiri Denemark 提交于
      Only in drivers which use virDomainObj, drivers that query hypervisor
      for domain status need to be updated separately in case their hypervisor
      supports this functionality.
      
      The reason is also saved into domain state XML so if a domain is not
      running (i.e., no state XML exists) the reason will be lost by libvirtd
      restart. I think this is an acceptable limitation.
      b046c55d
  8. 06 5月, 2011 1 次提交
    • D
      Add field to virDomainObjPtr to track "tainting" · 79984650
      Daniel P. Berrange 提交于
      Some configuration setups for guests are allowed, but strongly
      discouraged and unsupportable in production systems. Introduce
      a concept of 'tainting' to virDomainObjPtr to allow such setups
      to be identified. Drivers can then log warnings at suitable
      times
      
      * src/conf/domain_conf.c, src/conf/domain_conf.h: Declare taint
        flags and add parsing/formatting of domain status XML
      79984650
  9. 28 4月, 2011 2 次提交
    • K
      libvirt/qemu - support persistent attach/detach disks · ab9102c2
      KAMEZAWA Hiroyuki 提交于
      Support changes of disks by MODIFY_CONFIG for qemu.
      
      This patch includes patches for qemu's disk to support
      virDomainAt(De)tachDeviceFlags with VIR_DOMAIN_DEVICE_MODIFY_CONFIG.
      
      Other devices can be added incrementally.
      Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      
      * /src/conf/domain_conf.c
      (virDomainDiskIndexByName): returns array index of disk in vmdef.
      (virDomainDiskRemoveByName): removes a disk which has the name in vmdef.
      * src/qemu/qemu_driver.c
      (qemuDomainAttachDeviceConfig): add support for Disks.
      (qemuDomainDetachDeviceConfig): add support for Disks.
      ab9102c2
    • K
      libvirt/qemu - support persistent modification of devices · da1eba6b
      KAMEZAWA Hiroyuki 提交于
      This patch adds functions for modify domain's persistent definition.
      To do error recovery in easy way, we use a copy of vmdef and update it.
      
      The whole sequence will be:
      
        make a copy of domain definition.
      
        if (flags & MODIFY_CONFIG)
            update copied domain definition
        if (flags & MODIF_LIVE)
            do hotplug.
        if (no error)
            save copied one to the file and update cached definition.
        else
            discard copied definition.
      
      This patch is mixuture of Eric Blake's work and mine.
      From: Eric Blake <eblake@redhat.com>
      Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      
      (virDomainObjCopyPersistentDef): make a copy of persistent vm definition
      (qemuDomainAttach/Detach/UpdateDeviceConfig) : callbacks. now empty
      (qemuDomainModifyDeviceFlags): add support for MODIFY_CONFIG and MODIFY_CURRENT
      da1eba6b
  10. 15 4月, 2011 2 次提交
    • M
      Introduce virDomainChrDefNew() · 2ac455c4
      Michal Novotny 提交于
      Make: passed
      Make check: passed
      Make syntax-check: passed
      
      this is the commit to introduce the function to create new character
      device definition for the domain as advised by Cole Robinson
      <crobinso@redhat.com>.
      
      The function is used on the relevant places and also new tests has
      been added.
      Signed-off-by: NMichal Novotny <minovotn@redhat.com>
      2ac455c4
    • M
      Spice: support audio, images and stream compression · abb1570e
      Michal Privoznik 提交于
      This extends the SPICE XML to allow variable compression settings for audio,
      images and streaming:
          <graphics type='spice' port='5901' tlsPort='-1' autoport='yes'>
              <image compression='auto_glz'/>
              <jpeg compression='auto'/>
              <zlib compression='auto'/>
              <playback compression='on'/>
          </graphics>
      
      All new elements are optional.
      abb1570e
  11. 08 4月, 2011 1 次提交
  12. 29 3月, 2011 1 次提交
  13. 25 3月, 2011 1 次提交
    • E
      build: enforce reference count checking · 72d4ff5b
      Eric Blake 提交于
      Add the compiler attribute to ensure we don't introduce any more
      ref bugs like were just patched in commit 9741f346, then explicitly
      mark the remaining places in code that are safe.
      
      * src/qemu/qemu_monitor.h (qemuMonitorUnref): Mark
      ATTRIBUTE_RETURN_CHECK.
      * src/conf/domain_conf.h (virDomainObjUnref): Likewise.
      * src/conf/domain_conf.c (virDomainObjParseXML)
      (virDomainLoadStatus): Fix offenders.
      * src/openvz/openvz_conf.c (openvzLoadDomains): Likewise.
      * src/vmware/vmware_conf.c (vmwareLoadDomains): Likewise.
      * src/qemu/qemu_domain.c (qemuDomainObjBeginJob)
      (qemuDomainObjBeginJobWithDriver)
      (qemuDomainObjExitRemoteWithDriver): Likewise.
      * src/qemu/qemu_monitor.c (QEMU_MONITOR_CALLBACK): Likewise.
      Suggested by Daniel P. Berrange.
      72d4ff5b
  14. 24 3月, 2011 1 次提交
    • E
      domain_conf: drop unused ref-count in snapshot object · e904ce3c
      Eric Blake 提交于
      The ref count was assigned to 1 at creation, then never modified again
      until it was decremented just before freeing the object.
      
      * src/conf/domain_conf.h (_virDomainSnapshotObj): Delete unused
      field.
      (virDomainSnapshotObjUnref): Delete unused prototype.
      * src/libvirt_private.syms: Likewise.
      * src/conf/domain_conf.c (virDomainSnapshotObjNew)
      (virDomainSnapshotObjListDataFree): Update users.
      (virDomainSnapshotObjUnref): Delete.
      e904ce3c
  15. 18 3月, 2011 1 次提交
  16. 18 2月, 2011 2 次提交
    • L
      Add txmode attribute to interface XML for virtio backend · e9bd5c0e
      Laine Stump 提交于
      This is in response to:
      
         https://bugzilla.redhat.com/show_bug.cgi?id=629662
      
      Explanation
      
      qemu's virtio-net-pci driver allows setting the algorithm used for tx
      packets to either "bh" or "timer". This is done by adding ",tx=bh" or
      ",tx=timer" to the "-device virtio-net-pci" commandline option.
      
      'bh' stands for 'bottom half'; when this is set, packet tx is all done
      in an iothread in the bottom half of the driver. (In libvirt, this
      option is called the more descriptive "iothread".)
      
      'timer' means that tx work is done in qemu, and if there is more tx
      data than can be sent at the present time, a timer is set before qemu
      moves on to do other things; when the timer fires, another attempt is
      made to send more data. (libvirt retains the name "timer" for this
      option.)
      
      The resulting difference, according to the qemu developer who added
      the option is:
      
          bh makes tx more asynchronous and reduces latency, but potentially
          causes more processor bandwidth contention since the cpu doing the
          tx isn't necessarily the cpu where the guest generated the
          packets.
      
      Solution
      
      This patch provides a libvirt domain xml knob to change the option on
      the qemu commandline, by adding a new attribute "txmode" to the
      <driver> element that can be placed inside any <interface> element in
      a domain definition. It's use would be something like this:
      
          <interface ...>
            ...
            <model type='virtio'/>
            <driver txmode='iothread'/>
            ...
          </interface>
      
      I chose to put this setting as an attribute to <driver> rather than as
      a sub-element to <tune> because it is specific to the virtio-net
      driver, not something that is generally usable by all network drivers.
      (note that this is the same placement as the "driver name=..."
      attribute used to choose kernel vs. userland backend for the
      virtio-net driver.)
      
      Actually adding the tx=xxx option to the qemu commandline is only done
      if the version of qemu being used advertises it in the output of
      
          qemu -device virtio-net-pci,?
      
      If a particular txmode is requested in the XML, and the option isn't
      listed in that help output, an UNSUPPORTED_CONFIG error is logged, and
      the domain fails to start.
      e9bd5c0e
    • L
      Restructure domain struct interface "driver" data for easier expansion · b670a412
      Laine Stump 提交于
      When the <driver> element (and its "name" attribute) was added to the
      domain XML's interface element, a "backend" enum was simply added to
      the toplevel of the virDomainNetDef struct.
      
      Ignoring the naming inconsistency ("name" vs. "backend"), this is fine
      when there's only a single item contained in the driver element of the
      XML, but doesn't scale well as we add more attributes that apply to
      the backend of the virtio-net driver, or add attributes applicable to
      other drivers.
      
      This patch changes virDomainNetDef in two ways:
      
      1) Rename the item in the struct from "backend" to "name", so that
         it's the same in the XML and in the struct, hopefully avoiding
         confusion for someone unfamiliar with the function of the
         attribute.
      
      2) Create a "driver" union within virDomainNetDef, and a "virtio"
         struct in that struct, which contains the "name" enum value.
      
      3) Move around the virDomainNetParse and virDomainNetFormat functions
         to allow for simple plugin of new attributes without disturbing
         existing code. (you'll note that this results in a seemingly
         redundant if() in the format function, but that will no longer be
         the case as soon as a 2nd attribute is added).
      
      In the future, new attributes for the virtio driver backend can be
      added to the "virtio" struct, and any other network device backend that
      needs an attribute will have its own struct added to the "driver"
      union.
      b670a412
  17. 09 2月, 2011 1 次提交
  18. 05 2月, 2011 1 次提交
    • E
      smartcard: add spicevmc support · 79f9267f
      Eric Blake 提交于
      Adds <smartcard mode='passthrough' type='spicevmc'/>, which uses the
      new <channel name='smartcard'/> of <graphics type='spice'>.
      
      * docs/schemas/domain.rng: Support new XML.
      * docs/formatdomain.html.in: Document it.
      * src/conf/domain_conf.h (virDomainGraphicsSpiceChannelName): New
      enum value.
      (virDomainChrSpicevmcName): New enum.
      (virDomainChrSourceDef): Distinguish spicevmc types.
      * src/conf/domain_conf.c (virDomainGraphicsSpiceChannelName): Add
      smartcard.
      (virDomainSmartcardDefParseXML): Parse it.
      (virDomainChrDefParseXML, virDomainSmartcardDefParseXML): Set
      spicevmc name.
      (virDomainChrSpicevmc): New enum conversion functions.
      * src/libvirt_private.syms: Export new functions.
      * src/qemu/qemu_command.c (qemuBuildChrChardevStr): Conditionalize
      name.
      * tests/qemuxml2argvtest.c (domain): New test.
      * tests/qemuxml2argvdata/qemuxml2argv-smartcard-passthrough-spicevmc.args:
      New file.
      * tests/qemuxml2argvdata/qemuxml2argv-smartcard-passthrough-spicevmc.xml:
      Likewise.
      79f9267f
  19. 04 2月, 2011 3 次提交
    • D
      spicevmc: support new qemu chardev · be87a123
      Daniel P. Berrange 提交于
      Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=615757
      
      Add a new character device backend for virtio serial channels that
      activates the QEMU spice agent on the main channel using the vdagent
      spicevmc connection.  The <target> must be type='virtio', and supports
      an optional name that specifies how the guest will see the channel
      (for now, name must be com.redhat.spice.0).
      
      <channel type='spicevmc'>
        <target type='virtio'/>
        <address type='virtio-serial' controller='1' bus='0' port='3'/>
      </channel>
      
      * docs/schemas/domain.rng: Support new XML.
      * docs/formatdomain.html.in: Document it.
      * src/conf/domain_conf.h (virDomainChrType): New enum value.
      * src/conf/domain_conf.c (virDomainChr): Add spicevmc.
      (virDomainChrDefParseXML, virDomainChrSourceDefParseXML)
      (virDomainChrDefParseTargetXML): Parse and enforce proper use.
      (virDomainChrSourceDefFormat, virDomainChrDefFormat): Format.
      * src/qemu/qemu_command.c (qemuBuildChrChardevStr)
      (qemuBuildCommandLine): Add qemu support.
      * tests/qemuxml2argvtest.c (domain): New test.
      * tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.xml: New
      file.
      * tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args:
      Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      be87a123
    • E
      smartcard: add domain conf support · c1be1a2e
      Eric Blake 提交于
      * src/conf/domain_conf.h (virDomainSmartcardType): New enum.
      (virDomainSmartcardDef, virDomainDeviceCcidAddress): New structs.
      (virDomainDef): Include smartcards.
      (virDomainSmartcardDefIterator): New typedef.
      (virDomainSmartcardDefFree, virDomainSmartcardDefForeach): New
      prototypes.
      (virDomainControllerType, virDomainDeviceAddressType): Add ccid
      enum values.
      (virDomainDeviceInfo): Add ccid address type.
      * src/conf/domain_conf.c (virDomainSmartcard): Convert between
      enum and string.
      (virDomainSmartcardDefParseXML, virDomainSmartcardDefFormat)
      (virDomainSmartcardDefFree, virDomainDeviceCcidAddressParseXML)
      (virDomainDefMaybeAddSmartcardController): New functions.
      (virDomainDefParseXML): Parse the new XML.
      (virDomainDefFormat): Convert back to XML.
      (virDomainDefFree): Clean up.
      (virDomainDeviceInfoIterate): Iterate over passthrough aliases.
      (virDomainController, virDomainDeviceAddress)
      (virDomainDeviceInfoParseXML, virDomainDeviceInfoFormat)
      (virDomainDefAddImplicitControllers): Support new values.
      * src/libvirt_private.syms (domain_conf.h): New exports.
      * cfg.mk (useless_free_options): List new function.
      c1be1a2e
    • J
      Support booting from hostdev devices · 83e335f9
      Jiri Denemark 提交于
      83e335f9
  20. 29 1月, 2011 1 次提交
  21. 25 1月, 2011 1 次提交
    • C
      qemu: sound: Support intel 'ich6' model · 6cabc0b0
      Cole Robinson 提交于
      In QEMU, the card itself is a PCI device, but it requires a codec
      (either -device hda-output or -device hda-duplex) to actually output
      sound. Specifying <sound model='ich6'/> gives us -device intel-hda
      -device hda-duplex I think it's important that a simple <sound model='ich6'/>
      sets up a useful codec, to have consistent behavior with all other sound cards.
      
      This is basically Dan's proposal of
      
          <sound model='ich6'>
              <codec type='output' slot='0'/>
              <codec type='duplex' slot='3'/>
          </sound>
      
      without the codec bits implemented.
      
      The important thing is to keep a consistent API here, we don't want some
      <sound> devs require tweaking codecs but not others. Steps I see to
      accomplishing this:
      
          - every <sound> device has a <codec type='default'/> (unless codecs are
              manually specified)
          - <codec type='none'/> is required to specify 'no codecs'
          - new audio settings like mic=on|off could then be exposed in
              <sound> or <codec> in a consistent manner for all sound models
      
      v2:
          Use model='ich6'
      
      v3:
          Use feature detection, from eblake
          Set codec id, bus, and cad values
      
      v4:
          intel-hda isn't supported if -device isn't available
      
      v5:
          Comment spelling fixes
      6cabc0b0
  22. 22 1月, 2011 2 次提交
    • C
      qemu: Allow serving VNC over a unix domain socket · 1d9c0a08
      Cole Robinson 提交于
      QEMU supports serving VNC over a unix domain socket rather than traditional
      TCP host/port. This is specified with:
      
      <graphics type='vnc' socket='/foo/bar/baz'/>
      
      This provides better security access control than VNC listening on
      127.0.0.1, but will cause issues with tools that rely on the lax security
      (virt-manager in fedora runs as regular user by default, and wouldn't be
      able to access a socket owned by 'qemu' or 'root').
      
      Also not currently supported by any clients, though I have patches for
      virt-manager, and virt-viewer should be simple to update.
      
      v2:
          schema: Make listen vs. socket a <choice>
      1d9c0a08
    • C
      qemu: Set domain def transient at beginning of startup process · cb4c2694
      Cole Robinson 提交于
      This will allow us to record transient runtime state in vm->def, like
      default VNC parameters. Accomplish this by adding an extra 'live' parameter
      to SetDefTransient, with similar semantics to the 'live' flag for
      AssignDef.
      cb4c2694
  23. 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
  24. 15 1月, 2011 4 次提交
    • L
      Enable tuning of qemu network tap device "sndbuf" size · fe053dbe
      Laine Stump 提交于
      This is in response to a request in:
      
         https://bugzilla.redhat.com/show_bug.cgi?id=665293
      
      In short, under heavy load, it's possible for qemu's networking to
      lock up due to the tap device's default 1MB sndbuf being
      inadequate. adding "sndbuf=0" to the qemu commandline -netdevice
      option will alleviate this problem (sndbuf=0 actually sets it to
      0xffffffff).
      
      Because we must be able to explicitly specify "0" as a value, the
      standard practice of "0 means not specified" won't work here. Instead,
      virDomainNetDef also has a sndbuf_specified, which defaults to 0, but
      is set to 1 if some value was given.
      
      The sndbuf value is put inside a <tune> element of each <interface> in
      the domain. The intent is that further tunable settings will also be
      placed inside this element.
      
           <interface type='network'>
             ...
             <tune>
               <sndbuf>0</sndbuf>
             ...
             </tune>
           </interface>
      fe053dbe
    • L
      Add XML config switch to enable/disable vhost-net support · 175077fd
      Laine Stump 提交于
      This patch is in response to
      
        https://bugzilla.redhat.com/show_bug.cgi?id=643050
      
      The existing libvirt support for the vhost-net backend to the virtio
      network driver happens automatically - if the vhost-net device is
      available, it is always enabled, otherwise the standard userland
      virtio backend is used.
      
      This patch makes it possible to force whether or not vhost-net is used
      with a bit of XML. Adding a <driver> element to the interface XML, eg:
      
           <interface type="network">
             <model type="virtio"/>
             <driver name="vhost"/>
      
      will force use of vhost-net (if it's not available, the domain will
      fail to start). if driver name="qemu", vhost-net will not be used even
      if it is available.
      
      If there is no <driver name='xxx'/> in the config, libvirt will revert
      to the pre-existing automatic behavior - use vhost-net if it's
      available, and userland backend if vhost-net isn't available.
      175077fd
    • E
      qemu: move monitor device out of domain_conf common code · 30b9e608
      Eric Blake 提交于
      * src/conf/domain_conf.h (virDomainChrDeviceType): Drop monitor.
      * src/conf/domain_conf.c (virDomainChrDevice)
      (virDomainChrDefParseTargetXML, virDomainChrDefFormat): Drop
      monitor support.
      * src/qemu/qemu_command.h (qemuBuildCommandLine): Alter signature.
      * src/qemu/qemu_monitor.h (qemuMonitorOpen): Likewise.
      * src/qemu/qemu_domain.h (_qemuDomainObjPrivate): Change type of
      monConfig.
      * src/qemu/qemu_domain.c (qemuDomainObjPrivateFree)
      (qemuDomainObjPrivateXMLFormat, qemuDomainObjPrivateXMLParse):
      Adjust to type change.
      * src/qemu/qemu_command.c (qemuBuildCommandLine): Likewise.
      * src/qemu/qemu_driver.c (qemuPrepareMonitorChr)
      (qemudStartVMDaemon, qemuDomainXMLToNative, qemuConnectMonitor)
      (qemudShutdownVMDaemon): Likewise.
      * src/qemu/qemu_hotplug.c (qemuDomainAttachNetDevice): Likewise.
      * src/qemu/qemu_monitor.c (qemuMonitorOpen): Likewise.
      * tests/qemuxml2argvtest.c (testCompareXMLToArgvFiles): Likewise.
      30b9e608
    • E
      domain_conf: split source data out from ChrDef · 98334e7c
      Eric Blake 提交于
      This opens up the possibility of reusing the smaller ChrSourceDef
      for both qemu monitor and a passthrough smartcard device.
      
      * src/conf/domain_conf.h (_virDomainChrDef): Factor host
      details...
      (_virDomainChrSourceDef): ...into new struct.
      (virDomainChrSourceDefFree): New prototype.
      * src/conf/domain_conf.c (virDomainChrDefFree)
      (virDomainChrDefParseXML, virDomainChrDefFormat): Split...
      (virDomainChrSourceDefClear, virDomainChrSourceDefFree)
      (virDomainChrSourceDefParseXML, virDomainChrSourceDefFormat):
      ...into new functions.
      (virDomainChrDefParseTargetXML): Update clients to reflect type
      split.
      * src/vmx/vmx.c (virVMXParseSerial, virVMXParseParallel)
      (virVMXFormatSerial, virVMXFormatParallel): Likewise.
      * src/xen/xen_driver.c (xenUnifiedDomainOpenConsole): Likewise.
      * src/xen/xend_internal.c (xenDaemonParseSxprChar)
      (xenDaemonFormatSxprChr): Likewise.
      * src/vbox/vbox_tmpl.c (vboxDomainDumpXML, vboxAttachSerial)
      (vboxAttachParallel): Likewise.
      * src/security/security_dac.c (virSecurityDACSetChardevLabel)
      (virSecurityDACSetChardevCallback)
      (virSecurityDACRestoreChardevLabel)
      (virSecurityDACRestoreChardevCallback): Likewise.
      * src/security/security_selinux.c (SELinuxSetSecurityChardevLabel)
      (SELinuxSetSecurityChardevCallback)
      (SELinuxRestoreSecurityChardevLabel)
      (SELinuxSetSecurityChardevCallback): Likewise.
      * src/security/virt-aa-helper.c (get_files): Likewise.
      * src/lxc/lxc_driver.c (lxcVmStart, lxcDomainOpenConsole):
      Likewise.
      * src/uml/uml_conf.c (umlBuildCommandLineChr): Likewise.
      * src/uml/uml_driver.c (umlIdentifyOneChrPTY, umlIdentifyChrPTY)
      (umlDomainOpenConsole): Likewise.
      * src/qemu/qemu_command.c (qemuBuildChrChardevStr)
      (qemuBuildChrArgStr, qemuBuildCommandLine)
      (qemuParseCommandLineChr): Likewise.
      * src/qemu/qemu_domain.c (qemuDomainObjPrivateXMLFormat)
      (qemuDomainObjPrivateXMLParse): Likewise.
      * src/qemu/qemu_cgroup.c (qemuSetupChardevCgroup): Likewise.
      * src/qemu/qemu_hotplug.c (qemuDomainAttachNetDevice): Likewise.
      * src/qemu/qemu_driver.c (qemudFindCharDevicePTYsMonitor)
      (qemudFindCharDevicePTYs, qemuPrepareChardevDevice)
      (qemuPrepareMonitorChr, qemudShutdownVMDaemon)
      (qemuDomainOpenConsole): Likewise.
      * src/qemu/qemu_command.h (qemuBuildChrChardevStr)
      (qemuBuildChrArgStr): Delete, now that they are static.
      * src/libvirt_private.syms (domain_conf.h): New exports.
      * cfg.mk (useless_free_options): Update list.
      * tests/qemuxml2argvtest.c (testCompareXMLToArgvFiles): Update
      tests.
      98334e7c
  25. 14 1月, 2011 1 次提交
    • J
      Add HAP to virDomainFeature enum · 48a5dccd
      Jim Fehlig 提交于
      Extend the virDomainFeature enumeration to include HAP (hardware
      assisted paging) feature.
      
      Hardware features such as Extended Page Table and Nested Page
      Table augment hypervisor software techniques such as shadow
      page table.  Adding HAP to the virDomainFeature enumeration
      allows users to select between hardware and software memory
      management mechanisms for their guests.
      48a5dccd
  26. 10 12月, 2010 3 次提交
    • J
      qemu: Add RBD support and some network disk fixes · 85400fb9
      Josh Durgin 提交于
      Changes common to all network disks:
      -Make source name optional in the domain schema, since NBD doesn't use it
      -Add a hostName type to the domain schema, and use it instead of genericName, which doesn't include .
      -Don't leak host names or ports
      -Set the source protocol in qemuParseCommandline
      Signed-off-by: NJosh Durgin <joshd@hq.newdream.net>
      85400fb9
    • M
      add network disk support · 036ad505
      MORITA Kazutaka 提交于
      This patch adds network disk support to libvirt/QEMU.  The currently
      supported protocols are nbd, rbd, and sheepdog.  The XML syntax is like
      this:
      
          <disk type="network" device="disk">
            <driver name="qemu" type="raw" />
            <source protocol='rbd|sheepdog|nbd' name="...some image identifier...">
              <host name="mon1.example.org" port="6000">
              <host name="mon2.example.org" port="6000">
              <host name="mon3.example.org" port="6000">
            </source>
            <target dev="vda" bus="virtio" />
          </disk>
      Signed-off-by: NMORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
      036ad505
    • H
      Add a watchdog action `dump' · e19cdbfc
      Hu Tao 提交于
      `dump' watchdog action lets libvirtd to dump the guest when receives a
      watchdog event (which probably means a guest crash)
      
      Currently only qemu is supported.
      e19cdbfc
  27. 24 11月, 2010 1 次提交
    • O
      virDomainIsUpdated: define the new public API · 347d73f2
      Osier Yang 提交于
      introduce new public API "virDomainIsUpdated"
      
      * src/conf/domain_conf.h (new member "updated" for "virDomainObj")
      * src/libvirt_public.syms
      * include/libvirt/libvirt.h.in
      347d73f2