- 17 7月, 2009 14 次提交
-
-
由 Cole Robinson 提交于
With the previous refactoring, this is a simple process, since the global 'CreateBlockFrom' in storage_backend does all the work.
-
由 Cole Robinson 提交于
We don't gain any space savings, so skip the detection to speed up the cloning operation.
-
由 Cole Robinson 提交于
Add a 'CreateBlockFrom' in the global storage_backend, which sets up the destination block device: CopyFromFD does the rest of the cloning.
-
由 Cole Robinson 提交于
The CreateRaw function has some 'file' only assumptions, so break the agnostic cloning bits to a separate function.
-
由 Cole Robinson 提交于
Have storage building functions be definitions of virStorageBackendBuildVolFrom: we will need to do this in the future anyways if we ever support the flags attribute.
-
由 Cole Robinson 提交于
These will be used by other pool cloning implementations.
-
由 Cole Robinson 提交于
Break out separate functions for - Determining the supported '*-img' tool, - The tool's associated create function, - Desired function for cloning (CreateXMLFrom). This will be eventually used to unify cloning across all backends.
-
由 Cole Robinson 提交于
We need to unlock the first pool before looking up the second, since the search locks every pool it checks.
-
由 Cole Robinson 提交于
There isn't any way to dictate allocation when creating disk volumes, so capacity is the only relevant value.
-
由 Cole Robinson 提交于
Currently, if no format is specified for a new disk volume, we pass the invalid value "none" as the FS type to 'parted mkpart'. There doesn't seem to be a way to have parted not format the drive, so just default to using 'ext2' in this case: this shouldn't cause any harm, since we are creating a new partition in the first place.
-
由 Cole Robinson 提交于
Remove unneeded target path duplication, which could carelessly dereference NULL. Make it clear where 'key' is actually filled in.
-
由 Cole Robinson 提交于
Typo was breaking 'parthelper -g', preventing disk pool definition.
-
由 Jim Meyering 提交于
The code in cfg.mk to detect when the git submodule was out of date worked most of the time, but not when checked out in a certain way. * cfg.mk: Extract submodule hash from command output and file, and compare only that, since the format of the full line may vary. Reported by Mike Burns, with some diagnosis by Daniel P Berrange.
-
由 Daniel P. Berrange 提交于
* configure.in: Add --with-qemu-user and --with-qemu-group args * libvirt.spec.in: use 'qemu' for user/group for Fedora >= 12 * qemud/libvirtd_qemu.arg, qemud/test_libvirtd_qemu.aug, src/qemu.conf: Add 'user' and 'group' args for configuration * src/Makefile.am: Create %localstatedir/cache/libvirt/qemu * src/qemu_conf.c, src/qemu_conf.h: Load user/group from config * src/qemu_driver.c: Change user ID/group ID when launching QEMU guests. Change user/group ownership on disks/usb/pci devs. Put memory dumps in %localstatedir/cache/libvirt/qemu * src/util.c, src/util.h: Add convenient APIs for converting username/groupname to user ID / group ID
-
- 16 7月, 2009 26 次提交
-
-
由 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
-
由 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
-
由 Daniel Veillard 提交于
* libvirt.spec.in: we were still using deprecated configure switches
-
由 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.
-
由 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
-
由 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
-
由 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
-
由 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'
-
由 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.
-
由 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
-
由 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.
-
由 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
-
由 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
-
由 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.
-
由 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
-
由 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
-
由 Paolo Bonzini 提交于
* src/qemu_driver.c (qemudDomainCoreDump): New (qemuDriver): Add core dump function. The behaviour is similar as the current Xen dump
-
由 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
-
由 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.
-
由 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.
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
* src/qemu_driver.c: Relabel disk images *before* running QEMU hotplug monitor commands
-
由 Daniel P. Berrange 提交于
* src/qemu_driver.c: Try new monitor syntax for hotplug first. If that fails fallback to old KVM specific syntax
-
由 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.
-
由 Daniel P. Berrange 提交于
-
由 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
-