1. 29 9月, 2011 1 次提交
  2. 28 9月, 2011 1 次提交
    • E
      snapshot: remote protocol for getparent · 3ca4296f
      Eric Blake 提交于
      Mostly straight-forward, although this is the first API that
      returns a new snapshot based on a snapshot rather than a domain.
      
      * src/remote/remote_protocol.x
      (REMOTE_PROC_DOMAIN_SNAPSHOT_GET_PARENT): New rpc.
      (remote_domain_snapshot_get_parent_args)
      (remote_domain_snapshot_get_parent_ret): New structs.
      * src/rpc/gendispatch.pl: Adjust generator.
      * src/remote/remote_driver.c (remote_driver): Use it.
      * src/remote_protocol-structs: Update.
      3ca4296f
  3. 20 9月, 2011 1 次提交
  4. 06 9月, 2011 2 次提交
    • O
      latency: Wire up the remote protocol · efa7fc9f
      Osier Yang 提交于
      efa7fc9f
    • M
      daemon: Create priority workers pool · 597fe3ce
      Michal Privoznik 提交于
      This patch annotates APIs with low or high priority.
      In low set MUST be all APIs which might eventually access monitor
      (and thus block indefinitely). Other APIs may be marked as high
      priority. However, some must be (e.g. domainDestroy).
      
      For high priority calls (HPC), there are some high priority workers
      (HPW) created in the pool. HPW can execute only HPC, although normal
      worker can process any call regardless priority. Therefore, only those
      APIs which are guaranteed to end in reasonable small amount of time
      can be marked as HPC.
      
      The size of this HPC pool is static, because HPC are expected to end
      quickly, therefore jobs assigned to this pool will be served quickly.
      It can be configured in libvirtd.conf via prio_workers variable.
      Default is set to 5.
      
      To mark API with low or high priority, append priority:{low|high} to
      it's comment in src/remote/remote_protocol.x. This is similar to
      autogen|skipgen. If not marked, the generator assumes low as default.
      597fe3ce
  5. 02 9月, 2011 1 次提交
  6. 22 7月, 2011 6 次提交
    • A
      Asynchronous event for BlockJob completion · d489b046
      Adam Litke 提交于
      When an operation started by virDomainBlockPull completes (either with
      success or with failure), raise an event to indicate the final status.
      This API allow users to avoid polling on virDomainGetBlockJobInfo if
      they would prefer to use an event mechanism.
      
      * daemon/remote.c: Dispatch events to client
      * include/libvirt/libvirt.h.in: Define event ID and callback signature
      * src/conf/domain_event.c, src/conf/domain_event.h,
        src/libvirt_private.syms: Extend API to handle the new event
      * src/qemu/qemu_driver.c: Connect to the QEMU monitor event
        for block_stream completion and emit a libvirt block pull event
      * src/remote/remote_driver.c: Receive and dispatch events to application
      * src/remote/remote_protocol.x: Wire protocol definition for the event
      * src/remote_protocol-structs: structure definitions for protocol verification
      * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
        src/qemu/qemu_monitor_json.c: Watch for BLOCK_STREAM_COMPLETED event
        from QEMU monitor
      d489b046
    • A
      Add virDomainBlockPull support to the remote driver · 4daeefac
      Adam Litke 提交于
      The generator can handle everything except virDomainGetBlockJobInfo().
      
      * src/remote/remote_protocol.x: provide defines for the new entry points
      * src/remote/remote_driver.c daemon/remote.c: implement the client and
        server side for virDomainGetBlockJobInfo.
      * src/remote_protocol-structs: structure definitions for protocol verification
      * src/rpc/gendispatch.pl: Permit some unsigned long parameters
      4daeefac
    • E
      save: wire up remote protocol · 0696beca
      Eric Blake 提交于
      * src/remote/remote_driver.c (remote_driver): Add new callbacks.
      * src/remote/remote_protocol.x (remote_procedure): New RPCs.
      (remote_domain_save_image_get_xml_desc_args)
      (remote_domain_save_image_get_xml_desc_ret)
      (remote_domain_save_image_define_xml_args): New structs.
      * src/remote_protocol-structs: Update.
      0696beca
    • M
      remote: Fix forgotten comma · a9135359
      Michal Privoznik 提交于
      during conflict resolving
      a9135359
    • M
      destroy: Wire up the remote protocol · ca79a4fb
      Michal Privoznik 提交于
      ca79a4fb
    • E
      save: wire up remote protocol · b6fe647b
      Eric Blake 提交于
      * src/remote/remote_driver.c (remote_driver): Add new callbacks.
      * src/remote/remote_protocol.x (remote_procedure): New RPCs.
      (remote_domain_save_flags_args, remote_domain_restore_flags_args):
      New structs.
      * src/remote_protocol-structs: Update.
      b6fe647b
  7. 20 7月, 2011 1 次提交
  8. 17 7月, 2011 1 次提交
    • O
      rpc: Fix typos in rpc generator scripts · 92f0a7f5
      Osier Yang 提交于
      These typos are introduced by file renaming in commit b17b4afa.
      
      src/remote/qemu_protocol.x \
      src/remote/remote_protocol.x \
      src/rpc/gendispatch.pl:
          s/remote_generator/gendispatch/
      
      src/rpc/genprotocol.pl:
          s/remote\/remote_protocol/remote_protocol/
      92f0a7f5
  9. 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
  10. 29 6月, 2011 1 次提交
    • D
      Cleanup remote protocol definitions · 6818cf86
      Daniel P. Berrange 提交于
      The standard remote protocol for libvirtd no longer needs to
      include definitions of the generic message header/error structs
      or status codes. This is all defined in the generic RPC protocol
      
      * src/remote/remote_protocol.x: Remove all RPC message definitions
      * src/remote/remote_protocol.h, src/remote/remote_protocol.c:
        Re-generate
      * daemon/remote_generate_stubs.pl: Delete obsolete script
      6818cf86
  11. 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
  12. 25 6月, 2011 1 次提交
  13. 24 6月, 2011 2 次提交
  14. 20 6月, 2011 3 次提交
  15. 17 6月, 2011 1 次提交
  16. 15 6月, 2011 6 次提交
  17. 13 6月, 2011 1 次提交
  18. 01 6月, 2011 1 次提交
  19. 29 5月, 2011 3 次提交
    • D
      Introduce a new event emitted when a virtualization failure occurs · a6135ec1
      Daniel P. Berrange 提交于
      This introduces a new domain
      
        VIR_DOMAIN_EVENT_ID_CONTROL_ERROR
      
      Which uses the existing generic callback
      
      typedef void (*virConnectDomainEventGenericCallback)(virConnectPtr conn,
                                                           virDomainPtr dom,
                                                           void *opaque);
      
      This event is intended to be emitted when there is a failure in
      some part of the domain virtualization system. Whether the domain
      continues to run/exist after the failure is an implementation
      detail specific to the hypervisor.
      
      The idea is that with some types of failure, hypervisors may
      prefer to leave the domain running in a "degraded" mode of
      operation. For example, if something goes wrong with the QEMU
      monitor, it is possible to leave the guest OS running quite
      happily. The mgmt app will simply loose the ability todo various
      tasks. The mgmt app can then choose how/when to deal with the
      failure that occured.
      * daemon/remote.c: Dispatch of new event
      * examples/domain-events/events-c/event-test.c: Demo catch
        of event
      * include/libvirt/libvirt.h.in: Define event ID and callback
      * src/conf/domain_event.c, src/conf/domain_event.h: Internal
        event handling
      * src/remote/remote_driver.c: Receipt of new event from daemon
      * src/remote/remote_protocol.x: Wire protocol for new event
      * src/remote_protocol-structs: add new event for checks
      a6135ec1
    • E
      remote: introduce remoteGetSchedulerParametersFlags · baa371ec
      Eric Blake 提交于
      * daemon/remote.c (remoteDispatchDomainGetSchedulerParameters):
      New function.
      * src/remote/remote_driver.c (remoteDomainGetSchedulerParameters):
      Likewise.
      * src/remote/remote_protocol.x
      (remote_domain_get_scheduler_parameters_flags_args)
      (remote_domain_get_scheduler_parameters_flags_ret): New types.
      (remote_procedure): New RPC.
      * src/remote_protocol-structs: Likewise.
      baa371ec
    • E
      remote: consolidate typed parameter handling · 8a47ed29
      Eric Blake 提交于
      * src/remote/remote_protocol.x (remote_typed_param_value)
      (remote_typed_param):  New types.
      (remote_sched_param_value, remote_sched_param)
      (remote_blkio_param_value, remote_blkio_param)
      (remote_memory_param_value, remote_memory_param): Delete.
      (remote_domain_get_scheduler_parameters_ret)
      (remote_domain_set_scheduler_parameters_args)
      (remote_domain_set_scheduler_parameters_flags_args)
      (remote_domain_set_blkio_parameters_args)
      (remote_domain_get_blkio_parameters_ret)
      (remote_domain_set_memory_parameters_args)
      (remote_domain_get_memory_parameters_ret): Update clients.
      * src/remote_protocol-structs: Likewise.
      * src/remote/remote_driver.c (remoteSerializeTypedParameters)
      (remoteDeserializeTypedParameters): New functions.
      (remoteDomainSetMemoryParameters)
      (remoteDomainGetMemoryParameters, remoteDomainSetBlkioParameters)
      (remoteDomainGetBlkioParameters)
      (remoteDomainGetSchedulerParameters)
      (remoteDomainSetSchedulerParameters)
      (remoteDomainSetSchedulerParametersFlags): Update clients.
      * daemon/remote.c (remoteSerializeTypedParameters)
      (remoteDeserializeTypedParameters): New functions.
      (remoteDispatchDomainGetSchedulerParameters)
      (remoteDispatchDomainSetSchedulerParameters)
      (remoteDispatchDomainSetSchedulerParametersFlags)
      (remoteDispatchDomainSetMemoryParameters)
      (remoteDispatchDomainGetMemoryParameters)
      (remoteDispatchDomainSetBlkioParameters)
      (remoteDispatchDomainGetBlkioParameters): Update clients.
      8a47ed29
  20. 28 5月, 2011 1 次提交
  21. 26 5月, 2011 4 次提交
    • M
      Fix sign mismatches between public API, driver API and XDR protocol · 1ff2b6f6
      Matthias Bolte 提交于
      In most cases this affects flags parameters that are unsigned in the
      public and driver API but signed in the XDR protocol. Switch the
      XDR protocol to unsigned for those.
      
      A counterexample is virNWFilterGetXMLDesc. Its flags parameter is signed
      in the public API and XDR protocol, but unsigned in the driver API.
      1ff2b6f6
    • M
      remote generator: Fix XDR sign mismatch for virNodeGet(Cells)FreeMemory · 30e9b1a1
      Matthias Bolte 提交于
      virNodeGetFreeMemory used unsigned long long in the public API but
      signed hyper in the XDR protocol. Convert the XDR protocol to use
      unsigned hyper.
      
      As explained by Eric before, this doesn't affect the on-the-wire protocol.
      30e9b1a1
    • M
      remote generator: Handle stream-using functions · c2de9f4a
      Matthias Bolte 提交于
      Extend procedure annotation in the .x file for stream handling.
      
      Adds a missing remoteStreamRelease call to remoteDomainScreenshot
      error path.
      c2de9f4a
    • M
      remote generator: Make call-by-reference handling stricter · 77582e7f
      Matthias Bolte 提交于
      Several functions return values by reference parameters. This is realized
      by passing the members of remote_CALL_ret by reference to the called
      function.
      
      The position of this parameters in the function signature follows some
      patterns with some exceptions. This patterns and exceptions are hardcoded
      in the generator.
      
      Add an insert@<offset> annotation to the remote_CALL_ret struct members
      for functions that return lists to remove some of the hardcoded patterns
      and exceptions.
      77582e7f