1. 21 9月, 2011 1 次提交
    • E
      xen: use typical allocations · 7d7a7e29
      Eric Blake 提交于
      The next patch will add a syntax check that flags this usage in xen
      as awkward - while it was valid memory management, it was very hard
      to maintain.  Swapping to a more traditional allocation may be a bit
      slower, but easier to understand.
      
      * src/xen/xend_internal.c (xenDaemonListDomainsOld): Use two-level
      allocation, rather than abusing allocation function.
      (xenDaemonLookupByUUID): Update caller.
      7d7a7e29
  2. 16 9月, 2011 1 次提交
  3. 09 9月, 2011 1 次提交
    • P
      Fix URL-escaping for domainDefine · b14e7d2a
      Philipp Hahn 提交于
      '+' in strings get translated to ' ' when editing domains.
      While xenDaemonDomainCreateXML() did URL-escape the sexpr,
      xenDaemonDomainDefineXML() did not.
      
      Remove the explicit urlencode() in xenDaemonDomainCreateXML() and add
      the direct encoding calls to xend_op_ext() because it calls xend_post()
      which uses "Content-Type: application/x-www-form-urlencoded". According
      to <http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1> this
      requires all parameters to be url-encoded as specified in rfc1738.
      
      Notice: virBufferAsprintf(..., "%s=%s", ...) is again replaced by three
      calls to virBufferURIEncodeString() and virBufferAddChar() because '='
      is a "reserved" character, which would get escaped by
      virBufferURIEncodeString(), which - by the way - escapes anything not
      c_isalnum().
      Signed-off-by: NPhilipp Hahn <hahn@univention.de>
      b14e7d2a
  4. 05 9月, 2011 1 次提交
    • E
      snapshot: also support disks by path · 89b6284f
      Eric Blake 提交于
      I got confused when 'virsh domblkinfo dom disk' required the
      path to a disk (which can be ambiguous, since a single file
      can back multiple disks), rather than the unambiguous target
      device name that I was using in disk snapshots.  So, in true
      developer fashion, I went for the best of both worlds - all
      interfaces that operate on a disk (aka block) now accept
      either the target name or the unambiguous path to the backing
      file used by the disk.
      
      * src/conf/domain_conf.h (virDomainDiskIndexByName): Add
      parameter.
      (virDomainDiskPathByName): New prototype.
      * src/libvirt_private.syms (domain_conf.h): Export it.
      * src/conf/domain_conf.c (virDomainDiskIndexByName): Also allow
      searching by path, and decide whether ambiguity is okay.
      (virDomainDiskPathByName): New function.
      (virDomainDiskRemoveByName, virDomainSnapshotAlignDisks): Update
      callers.
      * src/qemu/qemu_driver.c (qemudDomainBlockPeek)
      (qemuDomainAttachDeviceConfig, qemuDomainUpdateDeviceConfig)
      (qemuDomainGetBlockInfo, qemuDiskPathToAlias): Likewise.
      * src/qemu/qemu_process.c (qemuProcessFindDomainDiskByPath):
      Likewise.
      * src/libxl/libxl_driver.c (libxlDomainAttachDeviceDiskLive)
      (libxlDomainDetachDeviceDiskLive, libxlDomainAttachDeviceConfig)
      (libxlDomainUpdateDeviceConfig): Likewise.
      * src/uml/uml_driver.c (umlDomainBlockPeek): Likewise.
      * src/xen/xend_internal.c (xenDaemonDomainBlockPeek): Likewise.
      * docs/formatsnapshot.html.in: Update documentation.
      * tools/virsh.pod (domblkstat, domblkinfo): Likewise.
      * docs/schemas/domaincommon.rng (diskTarget): Tighten pattern on
      disk targets.
      * docs/schemas/domainsnapshot.rng (disksnapshot): Update to match.
      * tests/domainsnapshotxml2xmlin/disk_snapshot.xml: Update test.
      89b6284f
  5. 02 9月, 2011 2 次提交
    • J
      Increase size of buffer for xend response · 57c95175
      Jim Fehlig 提交于
      On systems with many pcpus, the sexpr returned by xend can be quite
      large for dom0 when it is configured to have #vcpus = #pcpus (default).
      E.g. on a 80 pcpu system, where dom0 had 80 vcpus, the sexpr details
      for dom0 was 73817 bytes!  Increase maximum buffer size to 256k.
      57c95175
    • J
      Don't overwrite errors from xend_{get,req} · 32620dab
      Jim Fehlig 提交于
      xenDaemonDomainFetch() was overwriting errors reported by
      xend_get() and xend_req().  E.g. without patch
      
      error: failed Xen syscall xenDaemonDomainFetch failed to find this domain
      
      with patch
      
      error: internal error Xend returned HTTP Content-Length of 73817, which exceeds
      maximum of 65536
      32620dab
  6. 23 8月, 2011 1 次提交
  7. 19 8月, 2011 2 次提交
  8. 03 8月, 2011 1 次提交
    • E
      fdstream: drop delete argument · 00ef048f
      Eric Blake 提交于
      Revert 6a1f5f56.  Now that libvirt_iohelper takes fds by
      inheritance rather than by open() (commit 1eb66479), there is
      no longer a race where the parent can unlink() a file prior to
      the iohelper open()ing the same file.  From there, it makes
      more sense to have the callers both create and unlink, rather
      than the caller create and the stream unlink, since the latter
      was only needed when iohelper had to do the unlink.
      
      * src/fdstream.h (virFDStreamOpenFile, virFDStreamCreateFile):
      Callers are responsible for deletion.
      * src/fdstream.c (virFDStreamOpenFileInternal): Don't leak created
      file on failure.
      (virFDStreamOpenFile, virFDStreamCreateFile): Drop parameter.
      * src/lxc/lxc_driver.c (lxcDomainOpenConsole): Update callers.
      * src/qemu/qemu_driver.c (qemuDomainScreenshot)
      (qemuDomainOpenConsole): Likewise.
      * src/storage/storage_driver.c (storageVolumeDownload)
      (storageVolumeUpload): Likewise.
      * src/uml/uml_driver.c (umlDomainOpenConsole): Likewise.
      * src/vbox/vbox_tmpl.c (vboxDomainScreenshot): Likewise.
      * src/xen/xen_driver.c (xenUnifiedDomainOpenConsole): Likewise.
      00ef048f
  9. 29 7月, 2011 4 次提交
    • E
      xen: drop unused callbacks · 1b3765fd
      Eric Blake 提交于
      Found by:
      
      for f in $(sed -n 's/.*Drv[^ ]* \([^;]*\);.*/\1/p' src/xen/xen_driver.h)
      do
        git grep "\(\.\|->\)$f\b" src/xen
      done | cat
      
      and looking through the resulting list to see which callback struct
      members are still necessary.
      
      * src/xen/xen_driver.h (xenUnifiedDriver): Drop all callbacks that
      are only used directly.
      * src/xen/xen_hypervisor.c (xenHypervisorDriver): Shrink list.
      * src/xen/xen_inotify.c (xenInotifyDriver): Likewise.
      * src/xen/xend_internal.c (xenDaemonDriver): Likewise.
      * src/xen/xm_internal.c (xenXMDriver): Likewise.
      * src/xen/xs_internal.c (xenStoreDriver): Likewise.
      1b3765fd
    • E
      xen: make direct call when there is only one subdriver · a1e641a5
      Eric Blake 提交于
      No need to use a for loop if we know there is exactly one client.
      Found by:
      
      for f in $(sed -n 's/.*Drv[^ ]* \([^;]*\);.*/\1/p' src/xen/xen_driver.h)
      do
        git grep "\(\.\|->\)$f\b" src/xen
      done | cat
      
      and looking through the resulting list to see which callback struct
      members are used exactly once.  The next patch will ensure that we
      don't reintroduce uses of these callbacks.
      
      * src/xen/xen_driver.c (xenUnifiedClose): Call close
      unconditionally, to match xenUnifiedOpen.
      (xenUnifiedNodeGetInfo, xenUnifiedDomainCreateXML)
      (xenUnifiedDomainSave, xenUnifiedDomainRestore)
      (xenUnifiedDomainCoreDump, xenUnifiedDomainUpdateDeviceFlags):
      Make direct call to lone implementation.
      * src/xen/xend_internal.h (xenDaemonDomainCoreDump)
      (xenDaemonUpdateDeviceFlags, xenDaemonCreateXML): Add prototypes.
      * src/xen/xend_internal.c (xenDaemonDomainCoreDump)
      (xenDaemonUpdateDeviceFlags, xenDaemonCreateXML): Export.
      a1e641a5
    • E
      xen: reduce callback special cases · 03e5f8bb
      Eric Blake 提交于
      The callback struct is great when iterating through several
      possibilities, but when calling a known callback, it's just
      overhead.  We can make the direct call in those cases.
      
      * src/xen/xen_driver.c (xenUnifiedOpen, xenUnifiedDomainSuspend)
      (xenUnifiedDomainResume, xenUnifiedDomainDestroyFlags): Make
      direct calls instead of going through callback.
      03e5f8bb
    • E
      xen: cleanup callback struct · f859919f
      Eric Blake 提交于
      Using C99 initializers and xen-specific prefixes will make it
      so that future patches are less likely to add callback members
      to the xenUnifiedDriver struct, since the goal is to get rid
      of the callback struct in the first place.
      
      * src/xen/xen_driver.h (xenUnifiedDriver): Rename all struct
      members, to make it obvious which ones are still in use.
      * src/xen/xen_driver.c: Update all callers.
      * src/xen/xen_hypervisor.c (xenHypervisorDriver): Rewrite with C99
      initializers.
      * src/xen/xend_internal.c (xenDaemonDriver): Likewise.
      * src/xen/xs_internal.c (xenStoreDriver): Likewise.
      * src/xen/xm_internal.c (xenXMDriver): Likewise.
      * src/xen/xen_inotify.c (xenInotifyDriver): Likewise.
      f859919f
  10. 26 7月, 2011 1 次提交
    • E
      vcpu: teach getVcpusFlags about current · 59d04287
      Eric Blake 提交于
      Now that virDomainSetVcpusFlags knows about VIR_DOMAIN_AFFECT_CURRENT,
      so should virDomainGetVcpusFlags.
      
      Unfortunately, the virsh counterpart 'virsh vcpucount' has already
      commandeered --current for a different meaning, so teaching virsh
      to expose this in the next patch will require a bit of care.
      
      * src/libvirt.c (virDomainGetVcpusFlags): Allow
      VIR_DOMAIN_AFFECT_CURRENT.
      * src/libxl/libxl_driver.c (libxlDomainGetVcpusFlags): Likewise.
      * src/qemu/qemu_driver.c (qemudDomainGetVcpusFlags): Likewise.
      * src/test/test_driver.c (testDomainGetVcpusFlags): Likewise.
      * src/xen/xen_driver.c (xenUnifiedDomainGetVcpusFlags): Likewise.
      59d04287
  11. 22 7月, 2011 4 次提交
    • E
      save: wire up trivial save/restore flags implementations · b1083a4c
      Eric Blake 提交于
      For all hypervisors that support save and restore, the new API
      now performs the same functions as the old.
      
      VBox is excluded from this list, because its existing domainsave
      is broken (there is no corresponding domainrestore, and there
      is no control over the filename used in the save).  A later
      patch should change vbox to use its implementation for
      managedsave, and teach start to use managedsave results.
      
      * src/libxl/libxl_driver.c (libxlDomainSave): Move guts...
      (libxlDomainSaveFlags): ...to new function.
      (libxlDomainRestore): Move guts...
      (libxlDomainRestoreFlags): ...to new function.
      * src/test/test_driver.c (testDomainSave, testDomainSaveFlags)
      (testDomainRestore, testDomainRestoreFlags): Likewise.
      * src/xen/xen_driver.c (xenUnifiedDomainSave)
      (xenUnifiedDomainSaveFlags, xenUnifiedDomainRestore)
      (xenUnifiedDomainRestoreFlags): Likewise.
      * src/qemu/qemu_driver.c (qemudDomainSave, qemudDomainRestore):
      Rename and move guts.
      (qemuDomainSave, qemuDomainSaveFlags, qemuDomainRestore)
      (qemuDomainRestoreFlags): ...here.
      (qemudDomainSaveFlag): Rename...
      (qemuDomainSaveInternal): ...to this, and update callers.
      b1083a4c
    • E
      build: fix bugs with destroyFlags patches · 934fdcb3
      Eric Blake 提交于
      Build failure on xenapi_driver from compiler warnings (flags was unused).
      
      Build failure on xen (incorrect number of arguments).  And in fixing
      that, I obeyed the comments of struct xenUnifiedDriver that state
      that we want to minimize the number of callback functions in that
      struct, not add to it.
      
      * src/xen/xen_driver.c (xenUnifiedDomainDestroyFlags): Use correct
      arguments.
      (xenUnifiedDomainDestroy): Simplify.
      * src/xen/xen_driver.h (xenUnifiedDriver): Remove unused callback.
      * src/xen/xen_hypervisor.c (xenHypervisorDestroyDomain): Likewise.
      * src/xen/xend_internal.c (xenDaemonDomainDestroy): Likewise.
      * src/xen/xend_internal.h (xenDaemonDomainDestroyFlags): Likewise.
      * src/xen/xm_internal.c (xenXMDriver): Likewise.
      * src/xen/xs_internal.c (xenStoreDriver): Likewise.
      * src/xen/xen_inotify.c (xenInotifyDriver): Likewise.
      * src/xenapi/xenapi_driver.c (xenapiDomainDestroyFlags): Reject
      unknown flags.
      934fdcb3
    • M
      destroy: Implement internal API for xen driver · 1edf5cc5
      Michal Privoznik 提交于
      1edf5cc5
    • E
      build: rename files.h to virfile.h · 8e22e089
      Eric Blake 提交于
      In preparation for a future patch adding new virFile APIs.
      
      * src/util/files.h, src/util/files.c: Move...
      * src/util/virfile.h, src/util/virfile.c: ...here, and rename
      functions to virFile prefix.  Macro names are intentionally
      left alone.
      * *.c: All '#include "files.h"' uses changed.
      * src/Makefile.am (UTIL_SOURCES): Reflect rename.
      * cfg.mk (exclude_file_name_regexp--sc_prohibit_close): Likewise.
      * src/libvirt_private.syms: Likewise.
      * docs/hacking.html.in: Likewise.
      * HACKING: Regenerate.
      8e22e089
  12. 21 7月, 2011 1 次提交
    • E
      maint: fix typos on guaranteed · a7143405
      Eric Blake 提交于
      * src/conf/domain_event.c (virDomainEventDispatch): Fix typo.
      * src/internal.h (ATTRIBUTE_FMT_PRINTF): Likewise.
      * src/libvirt.c (virStreamEventUpdateCallback): Likewise.
      * src/remote/remote_driver.c (doRemoteOpen): Likewise.
      * src/storage/storage_backend_fs.c (virStorageBackendProbeTarget):
      Likewise.
      * src/util/virterror.c (virConnCopyLastError, virCopyLastError):
      Likewise.
      * src/xen/xend_internal.h (xend_wait_for_devices): Likewise.
      a7143405
  13. 20 7月, 2011 1 次提交
  14. 16 7月, 2011 1 次提交
    • E
      xen: reject unknown flags · 6a713b31
      Eric Blake 提交于
      Also fix a logic bug in xenXMDomain{Attach,Detach}DeviceFlags,
      where (flags & VIR_DOMAIN_DEVICE_MODIFY_CURRENT) is always false.
      
      * src/xen/xen_driver.c (xenUnifiedDomainXMLFromNative)
      (xenUnifiedDomainXMLToNative, xenUnifiedDomainBlockPeek): Reject
      unknown flags.
      * src/xen/xen_hypervisor.c (xenHypervisorOpen)
      (xenHypervisorGetDomainState): Likewise.
      * src/xen/xen_inotify.c (xenInotifyOpen): Likewise.
      * src/xen/xs_internal.c (xenStoreOpen, xenStoreDomainGetState)
      (xenStoreDomainReboot): Likewise.
      * src/xen/xend_internal.c (xenDaemonOpen, xenDaemonDomainReboot)
      (xenDaemonDomainCoreDump, xenDaemonDomainGetState)
      (xenDaemonDomainMigratePrepare, xenDaemonDomainSetVcpusFlags,
      xenDaemonDomainGetVcpusFlags, xenDaemonAttachDeviceFlags,
      xenDaemonDetachDeviceFlags): Likewise.
      (xenDaemonDomainGetXMLDesc): Prefer unsigned flags.
      * src/xen/xend_internal.h (xenDaemonDomainGetXMLDesc): Likewise.
      * src/xen/xm_internal.h (xenXMDomainGetXMLDesc): Likewise.
      * src/xen/xm_internal.c (xenXMDomainGetXMLDesc): Likewise.
      (xenXMOpen, xenXMDomainGetState, xenXMDomainSetVcpusFlags)
      (xenXMDomainGetVcpusFlags): Reject unknown flags.
      (xenXMDomainAttachDeviceFlags, xenXMDomainDetachDeviceFlags):
      Likewise, and avoid always-false conditional.
      * src/xen/xen_driver.h (XEN_MIGRATION_FLAGS): New define.
      6a713b31
  15. 14 7月, 2011 1 次提交
    • E
      build: avoid ATTRIBUTE_UNUSED in headers · 088473b2
      Eric Blake 提交于
      The compiler might optimize based on our declaration that something
      is unused.  Putting that declaration in the header risks getting
      out of sync with the actual implementation, so it belongs better
      only in the .c files.  We were mostly compliant, and a new syntax
      check will help us in the future.
      
      * cfg.mk (sc_avoid_attribute_unused_in_header): New syntax check.
      * src/nodeinfo.h (nodeGetCPUStats, nodeGetMemoryStats): Delete
      attribute already present in .c file.
      * src/qemu/qemu_domain.h (qemuDomainEventFlush): Likewise.
      * src/util/virterror_internal.h (virReportErrorHelper): Parameters
      are actually used by .c file.
      * src/xenxs/xen_sxpr.h (xenFormatSxprDisk): Adjust prototype.
      * src/xenxs/xen_sxpr.c (xenFormatSxprDisk): Delete unused argument.
      (xenFormatSxpr): Adjust caller.
      * src/xen/xend_internal.c (xenDaemonAttachDeviceFlags)
      (xenDaemonUpdateDeviceFlags): Likewise.
      Suggested by Daniel Veillard.
      088473b2
  16. 12 7月, 2011 1 次提交
    • M
      Add domain type checking · aa14709a
      Matthias Bolte 提交于
      The drivers were accepting domain configs without checking if those
      were actually meant for them. For example the LXC driver happily
      accepts configs with type QEMU.
      
      Add a check for the expected domain types to the virDomainDefParse*
      functions.
      aa14709a
  17. 08 7月, 2011 1 次提交
    • E
      drivers: prefer unsigned int for flags · 1740c381
      Eric Blake 提交于
      Now that the public APIs always use unsigned flags, the internal
      driver callbacks might as well do likewise.
      
      * src/driver.h (vrDrvOpen, virDrvDomainCoreDump)
      (virDrvDomainGetXMLDesc, virDrvNetworkGetXMLDesc)
      (virDrvNWFilterGetXMLDesc): Update type.
      * src/remote/remote_protocol.x (remote_open_args)
      (remote_domain_core_dump_args, remote_domain_get_xml_desc_args)
      (remote_network_get_xml_desc_args)
      (remote_nwfilter_get_xml_desc_args): Likewise.
      * src/test/test_driver.c: Update clients.
      * src/remote/remote_driver.c: Likewise.
      * src/xen/xen_hypervisor.c: Likewise.
      * src/xen/xen_hypervisor.h: Likewise.
      * src/xen/xen_driver.c: Likewise.
      * src/xen/xend_internal.c: Likewise.
      * src/xen/xend_internal.h: Likewise.
      * src/xen/xm_internal.c: Likewise.
      * src/xen/xm_internal.h: Likewise.
      * src/xen/xs_internal.c: Likewise.
      * src/xen/xs_internal.h: Likewise.
      * src/xen/xen_inotify.c: Likewise.
      * src/xen/xen_inotify.h: Likewise.
      * src/phyp/phyp_driver.c: Likewise.
      * src/openvz/openvz_driver.c: Likewise.
      * src/vmware/vmware_driver.c: Likewise.
      * src/vbox/vbox_driver.c: Likewise.
      * src/vbox/vbox_tmpl.c: Likewise.
      * src/xenapi/xenapi_driver.c: Likewise.
      * src/esx/esx_driver.c: Likewise.
      * src/esx/esx_interface_driver.c: Likewise.
      * src/esx/esx_network_driver.c: Likewise.
      * src/esx/esx_storage_driver.c: Likewise.
      * src/esx/esx_device_monitor.c: Likewise.
      * src/esx/esx_secret_driver.c: Likewise.
      * src/esx/esx_nwfilter_driver.c: Likewise.
      * src/interface/netcf_driver.c: Likewise.
      * src/nwfilter/nwfilter_driver.c: Likewise.
      * src/libxl/libxl_driver.c: Likewise.
      * src/qemu/qemu_driver.c: Likewise.
      * src/lxc/lxc_driver.c: Likewise.
      * src/uml/uml_driver.c: Likewise.
      * src/network/bridge_driver.c: Likewise.
      * src/secret/secret_driver.c: Likewise.
      * src/storage/storage_driver.c: Likewise.
      * src/node_device/node_device_hal.c: Likewise.
      * src/node_device/node_device_udev.c: Likewise.
      * src/remote_protocol-structs: Likewise.
      1740c381
  18. 07 7月, 2011 1 次提交
    • E
      util: fix virSkipSpaces · 82162316
      Eric Blake 提交于
      Most clients of virSkipSpaces don't want to omit backslashes.
      Also, open-coding the list of spaces is not as nice as using
      c_isspace.
      
      * src/util/util.c (virSkipSpaces): Use c_isspace.
      (virSkipSpacesAndBackslash): New function.
      * src/util/util.h (virSkipSpacesAndBackslash): New prototype.
      * src/xen/xend_internal.c (sexpr_to_xend_topology): Update caller.
      * src/libvirt_private.syms (util.h): Export new function.
      82162316
  19. 27 6月, 2011 1 次提交
    • E
      build: rename Vcpupin to VcpuPin · 28e45afc
      Eric Blake 提交于
      We already have a public virDomainPinVcpu, which implies that
      Pin and Vcpu are treated as separate words.  Unreleased commit
      e261987c introduced virDomainGetVcpupinInfo as the first public
      API that used Vcpupin, although we had prior internal uses of
      that spelling.  For consistency, change the spelling to be two
      words everywhere, regardless of whether pin comes first or last.
      
      * daemon/remote.c: Treat vcpu and pin as separate words.
      * include/libvirt/libvirt.h.in: Likewise.
      * src/conf/domain_conf.c: Likewise.
      * src/conf/domain_conf.h: Likewise.
      * src/driver.h: Likewise.
      * src/libvirt.c: Likewise.
      * src/libvirt_private.syms: Likewise.
      * src/libvirt_public.syms: Likewise.
      * src/libxl/libxl_driver.c: Likewise.
      * src/qemu/qemu_driver.c: Likewise.
      * src/remote/remote_driver.c: Likewise.
      * src/xen/xend_internal.c: Likewise.
      * tools/virsh.c: Likewise.
      * src/remote/remote_protocol.x: Likewise.
      * src/remote_protocol-structs: Likewise.
      Suggested by Matthias Bolte.
      28e45afc
  20. 23 6月, 2011 1 次提交
    • E
      xen: avoid PATH_MAX-sized array · 565c975f
      Eric Blake 提交于
      See previous patch for why this is good...
      
      * src/xen/xen_driver.h (xenXMConfCache): Manage filename
      dynamically.
      * src/xen/xm_internal.c (xenXMConfigCacheAddFile)
      (xenXMConfigFree, xenXMDomainDefineXML): Likewise.
      565c975f
  21. 21 6月, 2011 1 次提交
    • C
      Promote virEvent*Handle/Timeout to public API · 6094ad7b
      Cole Robinson 提交于
      Since we virEventRegisterDefaultImpl is now a public API, callers need
      a way to invoke the default registered Handle and Timeout functions. We
      already have general functions for these internally, so promote
      them to the public API.
      
      v2:
          Actually add APIs to libvirt.h
      6094ad7b
  22. 15 6月, 2011 1 次提交
    • D
      support for Xen HVM Viridian (Hyper-V) enlightenment interface · c4bd6d96
      Daniel Gollub 提交于
      Introduce libvirt support for Xen HVM Viridian (Hyper-V) enlightenment
      interface guest feature.
      
       src/conf/domain_conf.c     |    3 ++-
       src/conf/domain_conf.h     |    1 +
       src/xen/xen_hypervisor.c   |   11 +++++++++++
       src/xenapi/xenapi_driver.c |    2 ++
       src/xenapi/xenapi_utils.c  |    2 ++
       src/xenxs/xen_sxpr.c       |    4 ++++
       src/xenxs/xen_xm.c         |   12 +++++++++++-
       7 files changed, 33 insertions(+), 2 deletions(-)
      c4bd6d96
  23. 29 5月, 2011 2 次提交
    • E
      sched: provide new API shims for remaining drivers · bb6cb66f
      Eric Blake 提交于
      Well, the remaining drivers that already had the get/set
      scheduler parameter functionality to begin with.
      
      For now, this blindly treats VIR_DOMAIN_SCHEDINFO_CURRENT as
      the only supported operation for these 5 domains; it will
      take domain-specific patches if more specific behavior is
      preferred.
      
      * src/esx/esx_driver.c (esxDomainGetSchedulerParameters)
      (esxDomainSetSchedulerParameters): Move guts...
      (esxDomainGetSchedulerParametersFlags)
      (esxDomainSetSchedulerParametersFlags): ...to new functions.
      * src/libxl/libxl_driver.c (libxlDomainGetSchedulerParameters)
      (libxlDomainSetSchedulerParameters)
      (libxlDomainGetSchedulerParametersFlags)
      (libxlDomainSetSchedulerParametersFlags): Likewise.
      * src/lxc/lxc_driver.c (lxcGetSchedulerParameters)
      (lxcSetSchedulerParameters, lxcGetSchedulerParametersFlags)
      (lxcSetSchedulerParametersFlags): Likewise.
      * src/test/test_driver.c (testDomainGetSchedulerParams)
      (testDomainSetSchedulerParams, testDomainGetSchedulerParamsFlags)
      (testDomainSetSchedulerParamsFlags): Likewise.
      * src/xen/xen_driver.c (xenUnifiedDomainGetSchedulerParameters)
      (xenUnifiedDomainSetSchedulerParameters)
      (xenUnifiedDomainGetSchedulerParametersFlags)
      (xenUnifiedDomainSetSchedulerParametersFlags): Likewise.
      bb6cb66f
    • E
      maint: prefer newer API names internally · 163e5f04
      Eric Blake 提交于
      Rather mechanical in nature.
      
      * src/driver.h: Use newer virTypedParameter API names.
      * src/libvirt.c: Likewise.
      * daemon/remote.c: Likewise.
      * src/esx/esx_driver.c: Likewise.
      * src/libxl/libxl_driver.c: Likewise.
      * src/lxc/lxc_driver.c: Likewise.
      * src/qemu/qemu_driver.c: Likewise.
      * src/remote/remote_driver.c: Likewise.
      * src/test/test_driver.c: Likewise.
      * src/xen/xen_driver.c: Likewise.
      * src/xen/xen_hypervisor.c: Likewise.
      * src/xen/xen_hypervisor.h: Likewise.
      * src/xen/xend_internal.c: Likewise.
      * tools/virsh.c: Likewise.
      163e5f04
  24. 19 5月, 2011 3 次提交
    • M
      Clarify that virDomainSetSchedulerParameters(Flags) can take subsets · d870ec36
      Matthias Bolte 提交于
      Add invalid argument checks for params and nparams to the public API
      and remove them from the drivers (e.g. xend).
      
      Add subset handling to libxl and test drivers.
      d870ec36
    • M
      Clarify the semantic of virDomainGetSchedulerParameters arguments · e430c0d0
      Matthias Bolte 提交于
      params and nparams are essential and cannot be NULL. Check this in
      libvirt.c and remove redundant checks from the drivers (e.g. xend).
      
      Instead of enforcing that nparams must point to exact same value as
      returned by virDomainGetSchedulerType relax this to a lower bound
      check. This is what some drivers (e.g. xen hypervisor and esx)
      already did. Other drivers (e.g. xend) didn't check nparams at all
      and assumed that there is enough space in params.
      
      Unify the behavior in all drivers to a lower bound check and update
      nparams to the number of valid values in params on success.
      e430c0d0
    • M
      Clarify semantic of nparams argument of virDomainGetSchedulerType · 7b2f20b1
      Matthias Bolte 提交于
      Some drivers assumed it can be NULL (e.g. qemu and lxc) and check it
      before assigning to it, other drivers assumed it must be non-NULL
      (e.g. test and esx) and just assigned to it.
      
      Unify this to nparams being optional and document it.
      7b2f20b1
  25. 18 5月, 2011 1 次提交
    • C
      Fix messages using VIR_ERR_XML_ERROR · ed97be61
      Cole Robinson 提交于
      This error code has existed since the dawn of time, yet the messages it
      generates are almost universally busted. Here's a small sampling:
      
      src/conf/domain_conf.c:4889 : XML description for missing root element is not well formed or invalid
      src/conf/domain_conf.c:4951 : XML description for unknown device type is not well formed or invalid
      src/conf/domain_conf.c:5460 : XML description for maximum vcpus must be an integer is not well formed or invalid
      src/conf/domain_conf.c:5468 : XML description for invalid maxvcpus %(count)lu is not well formed or invalid
      
      Fix up the error code to instead be
      
      XML error: <msg>
      
      Adjust the few locations that were using the original correctly (or shouldn't
      have been using the error code at all).
      
      v2:
          Fix wording of error code without a passed argument
      ed97be61
  26. 16 5月, 2011 4 次提交
    • D
      Add many version number annotations to drivers · 9b1ae97f
      Daniel P. Berrange 提交于
      Add many version number annotations to the internal driver
      tables, to allow hvsupport.html to display more accurate
      information
      9b1ae97f
    • D
      Convert all driver struct intializers to C99 style · 879d409e
      Daniel P. Berrange 提交于
      Change all the driver struct initializers to use the
      C99 style, leaving out unused fields. This will make
      it possible to add new APIs without changing every
      driver. eg change:
      
          qemudDomainResume, /* domainResume */
          qemudDomainShutdown, /* domainShutdown */
          NULL, /* domainReboot */
          qemudDomainDestroy, /* domainDestroy */
      
      to
      
          .domainResume = qemudDomainResume,
          .domainShutdown = qemudDomainShutdown,
          .domainDestroy = qemudDomainDestroy,
      
      And get rid of any existing C99 style initializersr which
      set NULL, eg change
      
           .listPools          = vboxStorageListPools,
           .numOfDefinedPools  = NULL,
           .listDefinedPools   = NULL,
           .findPoolSources    = NULL,
           .poolLookupByName   = vboxStoragePoolLookupByName,
      
      to
      
           .listPools          = vboxStorageListPools,
           .poolLookupByName   = vboxStoragePoolLookupByName,
      879d409e
    • D
      Tweak driver naming for consistency with public API · 360df019
      Daniel P. Berrange 提交于
      Fix some driver names:
      
        s/virDrvCPUCompare/virDrvCompareCPU/
        s/virDrvCPUBaseline/virDrvBaselineCPU/
        s/virDrvQemuDomainMonitorCommand/virDrvDomainQemuMonitorCommand/
        s/virDrvSecretNumOfSecrets/virDrvNumOfSecrets/
        s/virDrvSecretListSecrets/virDrvListSecrets/
      
      And some driver struct field names:
      
        s/getFreeMemory/nodeGetFreeMemory/
      360df019
    • J
      Implement basic virDomainGetState in all drivers · 26d94012
      Jiri Denemark 提交于
      Reason is currently always set to 0 (i.e., *_UNKNOWN).
      26d94012