1. 02 2月, 2012 2 次提交
    • E
      block rebase: wire up remote protocol · 8ee8fd65
      Eric Blake 提交于
      Nice and simple.
      
      * src/remote/remote_protocol.x (REMOTE_PROC_DOMAIN_BLOCK_REBASE):
      New RPC.
      * src/remote/remote_driver.c (remote_driver): Wire it up.
      * src/remote_protocol-structs: Regenerate.
      8ee8fd65
    • P
      API: Add api to set and get domain metadata · c471e55e
      Peter Krempa 提交于
      This patch adds API to modify domain metadata for running and stopped
      domains. The api supports changing description, title as well as the
      newly added <metadata> element. The API has support for storing data in
      the metadata element using xml namespaces.
      
      * include/libvirt/libvirt.h.in
      * src/libvirt_public.syms
              - add function headers
              - add enum to select metadata to operate on
              - export functions
      * src/libvirt.c
              - add public api implementation
      * src/driver.h
              - add driver support
      * src/remote/remote_driver.c
      * src/remote/remote_protocol.x
              - wire up the remote protocol
      * include/libvirt/virterror.h
      * src/util/virterror.c
              - add a new error message note that metadata for domain are
              missing
      c471e55e
  2. 01 2月, 2012 2 次提交
    • J
      Remote protocol for virDomainGetDiskErrors · 342fc56f
      Jiri Denemark 提交于
      342fc56f
    • E
      resize: slightly alter signature · 055bbf45
      Eric Blake 提交于
      Our existing virDomainBlockResize takes an unsigned long long
      argument; if that command is later taught a DELTA and SHRINK flag,
      we cannot change its type without breaking API (but at least such
      a change would be ABI compatible).  Meanwhile, the only time a
      negative size makes sense is if both DELTA and SHRINK are used
      together, but if we keep the argument unsigned, applications can
      pass the positive delta amount by which they would like to shrink
      the system, and have the flags imply the negative value.  So,
      since this API has not yet been released, and in the interest of
      consistency with existing API, we swap virStorageVolResize to
      always pass an unsigned value.
      
      * include/libvirt/libvirt.h.in (virStorageVolResize): Use unsigned
      argument.
      * src/libvirt.c (virStorageVolResize): Likewise.
      * src/driver.h (virDrvStorageVolUpload): Adjust clients.
      * src/remote/remote_protocol.x (remote_storage_vol_resize_args):
      Likewise.
      * src/remote_protocol-structs: Regenerate.
      Suggested by Daniel P. Berrange.
      055bbf45
  3. 29 1月, 2012 1 次提交
  4. 28 1月, 2012 2 次提交
  5. 26 1月, 2012 1 次提交
    • M
      storage: Support different wiping algorithms · adb99a05
      Michal Privoznik 提交于
      Currently, we support only filling a volume with zeroes on wiping.
      However, it is not enough as data might still be readable by
      experienced and equipped attacker. Many technical papers have been
      written, therefore we should support other wiping algorithms.
      adb99a05
  6. 24 1月, 2012 1 次提交
    • D
      Add new virDomainShutdownFlags API · 0b7ddf9e
      Daniel P. Berrange 提交于
      Add a new API virDomainShutdownFlags and define:
      
          VIR_DOMAIN_SHUTDOWN_DEFAULT        = 0,
          VIR_DOMAIN_SHUTDOWN_ACPI_POWER_BTN = (1 << 0),
          VIR_DOMAIN_SHUTDOWN_GUEST_AGENT    = (1 << 1),
      
      Also define some flags for the reboot API
      
          VIR_DOMAIN_REBOOT_DEFAULT        = 0,
          VIR_DOMAIN_REBOOT_ACPI_POWER_BTN = (1 << 0),
          VIR_DOMAIN_REBOOT_GUEST_AGENT    = (1 << 1),
      
      Although these two APIs currently have the same flags, using
      separate enums allows them to expand separately in the future.
      
      Add stub impls of the new API for all existing drivers
      0b7ddf9e
  7. 29 12月, 2011 1 次提交
    • H
      domiftune: Add support of new APIs to the remote driver · e7dfe00d
      Hu Tao 提交于
      * daemon/remote.c: implement the server side support
      * src/remote/remote_driver.c: implement the client side support
      * src/remote/remote_protocol.x: definitions for the new entry points
      * src/remote_protocol-structs: structure definitions
      e7dfe00d
  8. 21 12月, 2011 1 次提交
  9. 01 12月, 2011 1 次提交
  10. 30 11月, 2011 1 次提交
  11. 29 11月, 2011 2 次提交
  12. 12 11月, 2011 1 次提交
    • E
      API: remote support for VIR_TYPED_PARAM_STRING · 40624d32
      Eric Blake 提交于
      Send and receive string typed parameters across RPC.  This also
      completes the back-compat mentioned in the previous patch - the
      only time we have an older client talking to a newer server is
      if RPC is in use, so filtering out strings during RPC prevents
      returning an unknown type to the older client.
      
      * src/remote/remote_protocol.x (remote_typed_param_value): Add
      another union value.
      * daemon/remote.c (remoteDeserializeTypedParameters): Handle
      strings on rpc.
      (remoteSerializeTypedParameters): Likewise; plus filter out
      strings when replying to older clients.  Adjust callers.
      * src/remote/remote_driver.c (remoteFreeTypedParameters)
      (remoteSerializeTypedParameters)
      (remoteDeserializeTypedParameters): Handle strings on rpc.
      * src/rpc/gendispatch.pl: Properly clean up typed arrays.
      * src/remote_protocol-structs: Update.
      Based on an initial patch by Hu Tao, with feedback from
      Daniel P. Berrange.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      40624d32
  13. 28 10月, 2011 1 次提交
    • D
      Implement RPC driver support for virDomainOpenGraphics · d442599a
      Daniel P. Berrange 提交于
      Since it needs to access file descriptors passed in the msg,
      the RPC driver for virDomainOpenGraphics needs to be manually
      implemented.
      
      * daemon/remote.c: RPC server dispatcher
      * src/remote/remote_driver.c: RPC client dispatcher
      * src/remote/remote_protocol.x: Define protocol
      d442599a
  14. 25 10月, 2011 2 次提交
    • D
      Add REMOTE_PROC_DOMAIN_EVENT_DISK_CHANGE to remote_protocol-structs · 806d4d81
      Daniel P. Berrange 提交于
      * src/remote_protocol-structs: Add new event
      806d4d81
    • M
      startupPolicy: Emit event on disk source dropping · baf2ff7e
      Michal Privoznik 提交于
      If a disk source gets dropped because it is not accessible,
      mgmt application might want to be informed about this. Therefore
      we need to emit an event. The event presented in this patch
      is however a bit superset of what written above. The reason is simple:
      an intention to be easily expanded, e.g. on 'user ejected disk
      in guest' events. Therefore, callback gets source string and disk alias
      (which should be unique among a domain) and reason (an integer);
      baf2ff7e
  15. 11 10月, 2011 1 次提交
    • E
      snapshot: remote protocol for snapshot children · db536236
      Eric Blake 提交于
      Very mechanical.  I'm so glad we've automated the generation of things,
      compared to what it was in 0.8.x days, where this would be much longer.
      
      * src/remote/remote_protocol.x
      (REMOTE_PROC_DOMAIN_SNAPSHOT_NUM_CHILDREN)
      (REMOTE_PROC_DOMAIN_SNAPSHOT_LIST_CHILDREN_NAMES): New rpcs.
      (remote_domain_snapshot_num_children_args)
      (remote_domain_snapshot_num_children_ret)
      (remote_domain_snapshot_list_children_names_args)
      (remote_domain_snapshot_list_children_names_ret): New structs.
      * src/remote/remote_driver.c (remote_driver): Use it.
      * src/remote_protocol-structs: Update.
      db536236
  16. 29 9月, 2011 1 次提交
  17. 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
  18. 20 9月, 2011 1 次提交
  19. 06 9月, 2011 1 次提交
  20. 02 9月, 2011 2 次提交
  21. 22 7月, 2011 5 次提交
    • 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
      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
  22. 20 7月, 2011 2 次提交
  23. 16 7月, 2011 1 次提交
    • E
      build: also track RPC on-wire enum values · 703d4ed5
      Eric Blake 提交于
      As long as we guarantee RPC struct layout stability, we might as
      well also guarantee RPC enum value constancy.
      
      * src/Makefile.am (r1, r2, PDWTAGS): Adjust rule to pick up named
      and anonymous enums.
      * src/remote_protocol-structs: Add enum values.
      * src/qemu_protocol-structs: Likewise.
      * src/virnetprotocol-structs: Likewise.
      703d4ed5
  24. 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
  25. 29 6月, 2011 1 次提交
  26. 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
  27. 25 6月, 2011 1 次提交
  28. 24 6月, 2011 2 次提交