1. 16 7月, 2009 29 次提交
    • L
      Implement the new virinterface functions · d4ad29be
      Laine Stump 提交于
      * src/driver.h: add new driver functions virDrvNumOfDefinedInterfaces
        and virDrvListDefinedInterfaces
      * src/libvirt.c: implements the entry points, calling new driver
        functions
      * qemud/remote.c qemud/remote_dispatch_args.h qemud/remote_protocol.[chx]
        qemud/remote_dispatch_prototypes.h qemud/remote_dispatch_ret.h
        qemud/remote_dispatch_table.h src/remote_internal.c: implement the
        client/server side of the RPC
      d4ad29be
    • L
      Public API for new virInterface functions · 043c954e
      Laine Stump 提交于
      * include/libvirt/libvirt.h[.in]: adds signatures for the new exported
        functions virConnectNumOfDefinedInterfaces and
        virConnectListDefinedInterfaces
      * src/libvirt_public.syms: export the new symbols
      043c954e
    • D
      Fix configure flags in spec file · d3c236f9
      Daniel Veillard 提交于
      * libvirt.spec.in: we were still using deprecated configure switches
      d3c236f9
    • D
      Rename a bunch of internal methods to clarify their meaning · 5dd21f2a
      Daniel P. Berrange 提交于
      This renames a lot of the methods in the remote driver client
      to more accurately reflect their responsibility of IO handling
      vs message handling.
      5dd21f2a
    • D
      Simplify remote driver error reporting · d65707a5
      Daniel P. Berrange 提交于
      Remove redundant error reporting functions which obscured the
      filename/line number reporting. Removed code which created a
      virDomain/virNetwork object, since those are silently dropped
      in error reporting functions now
      
      * src/remote_internal.c: Remove error() and errorf() in favour of
       macros, and remove server_error in favour of direct call
      d65707a5
    • D
      Refactor message sending to allow code reuse for data streams · 9c9ed0f3
      Daniel P. Berrange 提交于
      Splits up the 'call' method moving generic IO code out into
      separate method to allow it to be easily reused for sending
      data streams
      
      * src/remote_internal.c: Split 'call' into two methods, the first
        with same name serializes a set of method arguments into a
        message, the second 'remoteIO' takes a pre-serialized messages,
        sends it and awaits a reply
      9c9ed0f3
    • D
      Refactor incoming message handling to prepare for data stream support · 7a61c138
      Daniel P. Berrange 提交于
      * src/remote_internal.c: Rename processCallRecvMsg to
        processCallDispatch, and move code specific to method replies
        into processCallDispatchReply, and rename processCallAsyncEvent
        to processCallDispatchMessage
      7a61c138
    • D
      Rename 'direction' to 'type' in remote_message_header · 27944fac
      Daniel P. Berrange 提交于
      The 'remote_message_header' struct has a mis-leadingly named
      field 'direction'. It is really a reflection of the type of
      message, and some types can be sent in either direction. Thus
      the field is more accurately named 'type'. No function change.
      
      * qemud/remote_protocol.x: Rename 'direction' to 'type' in
        'remote_message_header. Write better docs describing the
        message header field semantics & usage
      * qemud/remote_protocol.c, qemud/remote_protocol.h: Regenerate
      * qemud/remote.c, qemud/dispatch.c, src/remote_internal.c
        Update to reflect rename of 'direction' to 'type'
      27944fac
    • D
      Define an API for registering incoming message dispatch filters · caaa1b8f
      Daniel P. Berrange 提交于
      All incoming messages currently get routed to the generic method
      remoteDispatchClientRequest() for processing. To allow incoming
      data stream messages to bypass this and be routed to a specific
      location, a concept of dispatch filters is introduced.
      
      * qemud/qemud.h: Add a qemud_client_filter struct and a callback
        qemud_client_filter_func. Maintain a list of filters on every
        struct qemud_client
      * qemud/qemud.c: Move remoteDecodeClientMessageHeader() out of
        qemudWorker() into qemudDispatchClientRead(). Check registered
        message filters in qemudDispatchClientRead() to decide where
        to send incoming messages for dispatch.
      caaa1b8f
    • D
      Split out code for handling incoming method call messages · 47cab734
      Daniel P. Berrange 提交于
      The remoteDispatchClientRequest() method is currently hardwired to
      assume there is only one type of incoming message, a method call.
      To allow for alternate types of incoming messags, the code that is
      specific to method calls is being split into a separate method
      remoteDispatchClientCall
      
      * qemud/dispatch.c: Move method call specific code out into
        remoteDispatchClientCall. Add a helper remoteSerializeError
        for returning error messages to client
      47cab734
    • D
      Change the way client event loop watches are managed · af4dad0f
      Daniel P. Berrange 提交于
      The current qemudRegisterClientEvent() code is used both for
      registering the initial socket watch, and updating the already
      registered watch. This causes unneccessary complexity in alot
      of code which only cares about updating existing watches. The
      updating of a watch cannot ever fail, nor is a reference to the
      'qemud_server' object required.
      
      This introduces a new qemudUpdateClientEvent() method for that
      case, allowing the elimination of unneccessary error checking
      and removal of the server back-reference in struct qemud_client.
      
      * qemud/qemud.h: Remove 'server' field from struct qemud_client.
        Add qemudUpdateClientEvent() method. Remove 'update' param
        from qemudRegisterClientEvent method
      * qemud/dispatch.c, qemud/qemud.c, qemud/remote.c: Update alot
        of code to use qemudUpdateClientEvent() instead of
        qemudRegisterClientEvent(). Move more logic from remoteRelayDomainEvent
        into remoteDispatchDomainEventSend.
      af4dad0f
    • D
      Move queuing of RPC replies into dispatch code · c40e14b4
      Daniel P. Berrange 提交于
      This removes an assumption from qemudWorker() code that every
      incoming message will generate a reply.
      
      * qemud/dispatch.c: remoteDispatchClientRequest now has responsibility
        for queuing the reply message to the RPC call
      * qemud/qemud.c: Do not queue the RPC call reply in qemudWorker(),
        allowing remoteDispatchClientRequest() to take care of it
      c40e14b4
    • D
      Change code generator to give async event messages their own postfix · aa23d432
      Daniel P. Berrange 提交于
      The naming convention for structs used in the RPC layer is for
      incoming requests to be called XXXX_args, and the associated
      outgoing reply to be called XXXX_ret.  Asynchronously emitted
      messages (eg events) are re-using the XXXX_ret naming scheme.
      This patch changes that such that async messages are XXXX_msg,
      and stops adding entries for them in the dispatch table, avoiding
      the need for a dummy no-op implementation.
      
      * qemud/remote.c: Remove dummy remoteDispatchDomainEvent, no
        longer required. Update to replace remote_domain_event_ret
        with xdr_remote_domain_event_msg
      * qemud/remote_protocol.x: Rename remote_domain_event_ret to
        remote_domain_event_msg
      * qemud/remote_generate_stubs.pl: Adding handling for new
        XXX_msg structs.
      * src/remote_internal.c: Rename remote_domain_event_ret to
        remote_domain_event_msg
      * qemud/remote_dispatch_prototypes.h, qemud/remote_dispatch_ret.h,
        qemud/remote_dispatch_table.h, qemud/remote_protocol.h,
        qemud/remote_protocol.c: auto-regenerate
      aa23d432
    • D
      Separate code for encoding outgoing remote message headers · 852fa7d0
      Daniel P. Berrange 提交于
      Introduces an API for encoding the header field for outgoing messages
      allowing some duplicated code to be eliminated
      
      * qemud/dispatch.c, qemud/dispatch.h: add remoteEncodeClientMessageHeader
        for encoding message header. Update remoteDispatchClientRequest to
        use this method.
      * qemud/remote.c: Update remoteDispatchDomainEventSend to use the
        generic remoteEncodeClientMessageHeader() for encoding event
        message hedaders. Push some logic from remoteRelayDomainEvent
        down into remoteDispatchDomainEventSend.
      852fa7d0
    • D
      Decode incoming request header before invoking dispatch code · 081c6330
      Daniel P. Berrange 提交于
      Separate the decoding of incoming request header out from the
      dispatch code. This will allow later code to making dispatcher
      routing decisions based on the header field data.
      
      * qemud/dispatch.c, qemud/dispatch.h: Add remoteDecodeClientMessageHeader
        API for decoding the header of a client message. Update the
        remoteDispatchClientRequest method to assume a pre-decoded
        header.
      * qemud/qemud.h: Include a 'remote_message_header' field in
        'struct qemud_client_message' for pre-decoded header data
      * qemud/qemud.c: Decode the incoming client message header before
        invoking remoteDispatchClientRequest
      081c6330
    • D
      Split generic RPC message dispatch code out from remote protocol API handlers · a147ef38
      Daniel P. Berrange 提交于
      * po/POTFILES.in: Add qemud/dispatch.c
      * qemud/dispatch.c, qemud/dispatch.h: Generic code handling dispatch of
        RPC messages.
      * qemud/Makefile.am: Add dispatch.c to build
      * qemud/qemud.c: Include dispatch.h
      * qemud/qemud.h: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
        now in dispatch.h
      * qemud/remote.c: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
        now in dispatch.c, and dispatch_args, dispatch_ret, dispatch_fn & dispatch_data
        now in remote.h
      * qemud/remote.h: Add typedefs for dispatch_args, dispatch_ret,
        dispatch_fn, dispath_data. Add remoteGetDispatchData() API
      a147ef38
    • P
      Implement qemu dump capabilities · e1abc448
      Paolo Bonzini 提交于
      * src/qemu_driver.c (qemudDomainCoreDump): New
        (qemuDriver): Add core dump function. The behaviour is similar
        as the current Xen dump
      e1abc448
    • P
      add cd and pwd commands to virsh · c4951f11
      Paolo Bonzini 提交于
      * src/virsh.c: adds cd and pwd commands to virsh useful for save and
        restore commands
      * docs/virsh.pod virsh.1: update the documentation
      * AUTHORS: add Paolo Bonzini
      c4951f11
    • J
      make "make syntax-check" consistent with "git diff --check" · 08a2e796
      Jim Meyering 提交于
      This makes "make syntax-check" fail when a version-controlled
      file contains a trailing blank line.
      * cfg.mk (sc_prohibit_trailing_blank_lines): New rule.
      08a2e796
    • J
      remove all trailing blank lines · 07613d20
      Jim Meyering 提交于
      by running this command:
      git ls-files -z | xargs -0 perl -pi -0777 -e 's/\n\n+$/\n/'
      This is in preparation for a more strict make syntax-check
      rule that will detect trailing blank lines.
      07613d20
    • D
      4a7acedd
    • D
      Fix SELinux denial during hotplug · 1795bfe4
      Daniel P. Berrange 提交于
      * src/qemu_driver.c: Relabel disk images *before* running QEMU
      hotplug monitor commands
      1795bfe4
    • D
      Fix PCI device hotplug/unplug with newer QEMU · 326ecb78
      Daniel P. Berrange 提交于
      * src/qemu_driver.c: Try new monitor syntax for hotplug first. If
        that fails fallback to old KVM specific syntax
      326ecb78
    • D
      Fix problem with QEMU monitor welcome prompt confusing libvirt · 2d1f2e70
      Daniel P. Berrange 提交于
      after a libvirtd daemon restart with active guests
      
      * src/qemu_driver: Read and dicard pending monitor data
        before issuing new monitor commands.
      2d1f2e70
    • D
    • D
      Allow autostart of libvirtd to be disabled with LIBVIRT_AUTOSTART=0 · 89c5ce4d
      Daniel P. Berrange 提交于
      * src/remote_internal.c: Disable libvirtd autostart if the
        LIBVIRT_AUTOSTART=0 env variable is set
      * src/libvirt.c: Document environment variables can impact
        the virConnectOpen API
      89c5ce4d
    • D
      netcf XML validation and input and output tests · 788c3151
      Daniel Veillard 提交于
      * tests/interfaceschematest: test all XML data against the interface
        schemas
      * tests/interfacexml2xmltest.c: parse and reserialize all XML data
        and check the output is identical
      * tests/Makefile.am: hook up the tests
      * tests/.gitignore: add ignore test
      788c3151
    • D
      Add netcf XML schemas and test data · 19e57fd9
      Daniel Veillard 提交于
      * docs/schemas/interface.rng: schemas for the interface XML files
        directly imported from netcf-0.1.0
      * tests/interfaceschemadata/*.xml: set of test files from netcf-0.1.0
        changed to use single quote instead of double quote
      19e57fd9
    • D
      add support for netcf XML import and export · 2f5fb5e0
      Daniel Veillard 提交于
      * src/interface_conf.c src/interface_conf.h: the import and export
        routines and the internal APIs
      * src/Makefile.am: hook the new file in the makefiles
      * src/libvirt_private.syms: export a few private symbols internally
      * po/POTFILES.in: the new file contains translatable strings
      2f5fb5e0
  2. 15 7月, 2009 3 次提交
  3. 13 7月, 2009 1 次提交
    • G
      Update links to bugzilla · f19fdbba
      Garry Dolley 提交于
      * docs/bugs.html[.in]: general tickets are under the 'Virtualization
        Tools' product category and Fedora specific tickets are under the
        'Fedora' product category.
      f19fdbba
  4. 11 7月, 2009 2 次提交
  5. 10 7月, 2009 5 次提交
    • J
      build: automatically rerun ./bootstrap when needed · f272378d
      Jim Meyering 提交于
      When "git pull" (or any other operation) brings in a new version of the
      gnulib git submodule, you must rerun the autogen.sh script.  With this
      change, "make" now fails and tells you to run ./autogen.sh, when needed.
      * autogen.sh: Maintain a new file, .git-module-status, containing
      the current submodule status.  If it doesn't exist or its content
      is different from what "git submodule status" prints, then run
      ./bootstrap
      * .gitignore: Add .git-module-status
      * cfg.mk: Diagnose out of date submodule and fail.
      * README-hacking: Update not to mention bootstrap.
      * Makefile.am (MAINTAINERCLEANFILES): Add .git-module-status,
      so that "make maintainerclean" will remove it.
      f272378d
    • J
      build: make autogen.sh use autoreconf -if · e335b2ca
      Jim Meyering 提交于
      * autogen.sh: Use "autoreconf -if" instead of open-coding it with
      manual and unconditional invocation of each separate tool.
      e335b2ca
    • 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