- 22 7月, 2009 16 次提交
-
-
由 Mark McLoughlin 提交于
When we pci_add a NIC, we need to retain the PCI address assigned by qemu for using during detach. * src/qemu_driver.c: use qemudParsePciAddReply() to pull the PCI address from the pci_add reply * src/domain_conf.c: handle storing and parsing the PCI address in the domain state XML file
-
由 Mark McLoughlin 提交于
The current code for parsing pci_add replies ignores the the domain and bus numbers. Re-write the code to rectify that. Also, since pci_add is used for NIC hotplug as well ask disk hotplug, re-factor the code into a separate function. * src/qemu_driver.c: add qemudParsePciAddReply() function which can handle parsing domain and bus numbers
-
由 Mark McLoughlin 提交于
If we fail to pci_add a NIC, we should remove the network backend and leave things the way we found them. To do that, we pre-allocate a host_net_remove monitor command and issue that if the pci_add fails. If the remove fails, we just log a warning. We can only do this if we have a name for the network backend and we know the vlan number its associated with. * src/qemu_driver.c: host_net_remove the network backend if the pci_add fails
-
由 Mark McLoughlin 提交于
Implement basic NIC hotplug support using the 'host_net_add' and 'pci_add' qemu monitor commands. For now, we don't support 'bridge' or 'network' types. Also, if pci_add fails, we currently fail to remove the backend which we added. Finally, NIC hot-unplug support is missing. * src/qemu_driver.c: add qemudDomainAttachNetDevice() * src/qemu_conf.[ch]: export qemuBuildNicStr(), qemuBuildHostNetStr() and qemuAssignNames() * src/libvirt_private.syms: export virDomainNetTypeToString()
-
由 Mark McLoughlin 提交于
qemudDomainChangeEjectableMedia() currently extracts the qemu command line flags, but other device attaching code might need it, so move the qemudExtractVersionInfo() call up a frame. * src/qemu_driver.c: move the qemudExtractVersionInfo() call from qemudDomainChangeEjectableMedia() to qemudDomainAttachDevice()
-
由 Mark McLoughlin 提交于
Currently, an interface's vlan number corresponds to its index in the table of network interfaces. That is no longer true when we allow devices to be removed. To fix this, we store the vlan number in the domain's state XML so that it survives libvirtd restarts. * src/domain_conf.h: add vlan number to virDomainNetDef * src/domain_conf.c: store it in XML as <state vlan='N'/>, defaulting to -1 if this is state saved by a previous version of libvirt * src/qemu_conf.c: assign vlan numbers before starting qemu
-
由 Mark McLoughlin 提交于
The qemu driver needs to assign and keep track of identifiers for network devices so that it can remove them. We need to keep this state across libvirtd restarts, but it's not configuration that needs to be kept across guest restarts. * src/domain_conf.c: parse and format <state nic="foo" hostnet="bar"/>
-
由 Mark McLoughlin 提交于
We need these so that we can remove the devices via the monitor. * src/domain_conf.h: add nic_name and hostnet_name to virDomainNetDef * src/domain_conf.c: free nic_name and hostnet_name * src/qemu_conf.c: add qemuAssignNetNames(), use it if qemu has support for the param and pass the names on the command line * tests/qemuxml2argv*: add a test for this
-
由 Mark McLoughlin 提交于
Add QEMUD_CMD_FLAG_NET_NAME to indicate that '-net ...,name=foo' is supported and QEMUD_CMD_FLAG_HOST_NET_ADD to indicate that the 'host_net_add' monitor command is available. Set both these flags if the qemu version is greater than 0.10.0. Checking via the '-help' output would not work for the monitor command and even for the command line arg, it would be quite fragile. * src/qemu_conf.h: add new flags as aliases of QEMUD_CMD_FLAG_0_10 * src/qemu_conf.c: set QEMUD_CMD_FLAG_0_10 for versions >= 0.10.0 * tests/qemuhelptest.c: set QEMUD_CMD_FLAG_0_10 for the appropriate qemu versions
-
由 Mark McLoughlin 提交于
Re-factor this code so that it can be used for NIC hotplug too. The awkward prefix and type_sep arguments are needed to allow us to do "host_net_add tap vlan=..." * src/qemu_conf.c: factor the net backend string formatting code into its own function
-
由 Mark McLoughlin 提交于
Re-factor this code so that it can be used for NIC hotplug too. The awkward arguments are needed to allow use to do "pci_add auto nic macaddr=..." * src/qemu_conf.c: factor the nic string formatting code into its own function
-
由 Mark McLoughlin 提交于
When we hot-plug a disk device into a qemu guest, we need to retain its PCI address so that it can be removed again later. Currently, we do retain the slot number, but not across libvirtd restarts. Add <state devaddr="xxxx:xx:xx"/> to the disk device XML config when the VIR_DOMAIN_XML_INTERNAL_STATUS flag is used. We still don't parse the domain and bus number, but the format allows us to do that in future. * src/domain_conf.h: replace slotnum with pci_addr struct, add helper for testing whether the address is valid * src/domain_conf.c: handle formatting and parsing the address * src/qemu_driver.c: store the parsed slot number as a full PCI address, and use this address with the pci_del monitor command * src/vbox/vbox_tmpl.c: we're debug printing slotnum here even though it can never be set, just delete it
-
由 Mark McLoughlin 提交于
We need to store things like device names and PCI slot numbers in the qemu domain state file so that we don't lose that information on libvirtd restart. Add a flag to indicate that this information should be parsed or formatted. Make bit 16 and above of the flags bitmask for internal use only and consume the first bit for this new status flag. * include/libvirt/libvirt.h: add VIR_DOMAIN_XML_FLAGS_MASK * src/libvirt.c: reject private flags in virDomainGetXMLDesc() * src/domain_conf.h: add VIR_DOMAIN_XML_INTERNAL_STATUS * src/domain_conf.c: pass the flag from virDomainObjParseXML() and virDomainSaveStatus
-
由 Laine Stump 提交于
* src/virsh.c: rename interface into iface
-
由 Thomas Treutner 提交于
* src/libvirt.c: the documented return was wrong
-
由 Daniel P. Berrange 提交于
* src/storage_backend_fs.c: Replace = with == for comparison
-
- 21 7月, 2009 10 次提交
-
-
由 Harshavardhana 提交于
* src/storage_backend_fs.c: due to Fuse O_DIRECT problem one need to mount glusterfs with direct-IO mode, until fixed
-
由 Pritesh Kothari 提交于
* src/vbox/vbox_tmpl.c: reconnecting to vbox:///session was failing
-
由 Daniel Veillard 提交于
* src/libvirt.c: activate the interface drivers * po/POTFILES.in: add the netcf driver as a source of localization strings * src/interface_driver.c: NETCF_ENOMEM -> VIR_ERR_NO_MEMORY mapping was breaking syntax checking
-
由 Laine Stump 提交于
* src/interface_driver.c src/interface_driver.h: the new driver * src/Makefile.am qemud/Makefile.am qemud/qemud.c: hook the new driver in the build system and get ti activated by the daemon * src/libvirt_private.syms: export needed symbols internally
-
由 Laine Stump 提交于
* test.c: includes an interface driver to the test framework
-
由 Daniel Veillard 提交于
-
由 Laine Stump 提交于
* interface_conf.c interface_conf.h: utilities function usful for interface driver like the test interface driver
-
由 Laine Stump 提交于
MAC address of a particular interface may change over time, and the reduced virInterface object (which contains just name and mac) needs to reflect these changes. Since we can't modify the mac address of an existing virInterface (some other thread may currently be using it) we just create a new virInterface, and let the old one die a dignified death when its refct goes to 0. * src/datatypes.c: fix the matching and lifetime of virInterface object accordingly
-
由 Laine Stump 提交于
* include/libvirt/virterror.h src/virterror.c: if a driver's virInterfaceLookupByMACString() function finds more than one interface with the desired MAC Address, this new error is raised.
-
由 Jun Koi 提交于
* src/qemu_driver.c: qemudOpenMonitorUnix() had an uninitialized loop counter
-
- 17 7月, 2009 14 次提交
-
-
由 Daniel Veillard 提交于
* src/virsh.c: a bit of cleanup on previous commit
-
由 Laine Stump 提交于
* src/virsh.c: add a number of interface related commands: iface-list, iface-name, iface-mac, iface-dumpxml, iface-define, iface-undefine, iface-edit, iface-start and iface-destroy
-
由 Cole Robinson 提交于
Unlike the pty monitor (which we know exists since we scrape its path from stdout), we have no way of knowing that the unix monitor socket should exist/ be initialized. As a result, some of my KVM guests randomly fail to start on F10 host. Try to open the unix socket in a 3 second timeout loop. Ignore EACCES (path does not exist if a first time run) and ECONNREFUSED (leftover socket from a previous run hasn't been removed yet). Fixes things for me.
-
由 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.
-