- 23 4月, 2020 8 次提交
-
-
由 Peter Krempa 提交于
In an attempt to simplify qemuDomainSaveImageOpen we need to add automatic pointer clearing for virQEMUSaveData. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Peter Krempa 提交于
Commit 21ad56e9 introduced a regression where a VM with a corrupted save image file would fail to start on the first attempt. This was caused by returning a wrong return code as 'fd' was abused to also hold the return code. Since it's easy to miss this nuance, introduce a 'ret' variable for the return code and return it' value in the error section. https://bugzilla.redhat.com/show_bug.cgi?id=1791522Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NPavel Mores <pmores@redhat.com>
-
由 Ján Tomko 提交于
Everything is using virCommand now. Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Ján Tomko 提交于
virCommand is now used everywhere. Signed-off-by: NJán Tomko <jtomko@redhat.com> Suggested-by: NSebastian Mitterle <smitterl@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Ján Tomko 提交于
Catch the individual usage not removed in previous commits. Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Ján Tomko 提交于
Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Ján Tomko 提交于
Construct the command in multiple steps instead of using a sentinel in the args array. Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Julio Faracco 提交于
If an user is trying to configure a dhcp neetwork settings, it is not possible to change the leasetime of a range or a host entry. This is available using dnsmasq extra options, but they are associated with dhcp-range or dhcp-hosts fields. This patch implements a leasetime for range and hosts tags. They can be defined under that settings: <dhcp> <range ...> <lease/> </range> <host ...> <lease/> </host> </dhcp> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=913446Signed-off-by: NJulio Faracco <jcfaracco@gmail.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 22 4月, 2020 10 次提交
-
-
由 Michal Privoznik 提交于
When a device is "move"-d (this basically means it was renamed), we add the new device onto our list but keep the old there too. Fortunately, udev sets this DEVPATH_OLD property which points to the old device path. We can use it to remove the old instance. To test this try renaming an interface, for instance: # ip link set tunl0 name tunl1 # ip link set tunl1 name tunl0 One problem with udev is that it sends old ifname in INTERFACE property, which creates a problem for us, the property is where we get the ifname from and use it then to query all kind of info about the interface. Well, if it is non-existent then we can't query anything. This happens if ifname rename is suppressed (net.ifnames=0 on kernel cmd line for instance). Fortunately, we can use "kernel" source for udev events which has always the fresh info. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Michal Privoznik 提交于
Move internals of udevRemoveOneDevice() into a separate function which accepts sysfs path as an argument and actually removes the device from the internal list. It will be reused later. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Michal Privoznik 提交于
When removing a node device object from the internal list the udevRemoveOneDevice() function does plain unref over the object. This is not sufficient. If there is another thread that's waiting for the object lock it will wait forever. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Ján Tomko 提交于
The virDomainDefParseXML function has grown so large it broke the build: ../../src/conf/domain_conf.c:20362:1: error: stack frame size of 4168 bytes in function 'virDomainDefParseXML' [-Werror,-Wframe-larger-than=] Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NPeter Krempa <pkrempa@redhat.com>
-
由 Marc-André Lureau 提交于
The file doesn't use virSystemd functions directly. Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Marc-André Lureau 提交于
External devices are started before cgroup is created. Add the DBus daemon to the VM cgroup with the rest of the external devices. Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Marc-André Lureau 提交于
Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Marc-André Lureau 提交于
Allow calling qemuDBusStart() multiple times (as may be done by qemu-slirp already). Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Marc-André Lureau 提交于
The slirp helper process should be associated with the VM cgroup, like other helpers. Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Marc-André Lureau 提交于
Don't stop the DBus daemon if a slirp helper failed to start, as it may be shared with other helpers. Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 21 4月, 2020 7 次提交
-
-
由 Jim Fehlig 提交于
Add support for xl.cfg(5) 'passthrough' option in the domXML-to-xenconfig configuration converter. Signed-off-by: NJim Fehlig <jfehlig@suse.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Jim Fehlig 提交于
Signed-off-by: NJim Fehlig <jfehlig@suse.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Jim Fehlig 提交于
Signed-off-by: NJim Fehlig <jfehlig@suse.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Jim Fehlig 提交于
'passthrough' is Xen-Specific guest configuration option new to Xen 4.13 that enables IOMMU mappings for a guest and hence whether it supports PCI passthrough. The default is disabled. See the xl.cfg(5) man page and xen.git commit babde47a3fe for more details. The default state of disabled prevents hotlugging PCI devices. However, if the guest configuration contains a PCI passthrough device at time of creation, libxl will automatically enable 'passthrough' and subsequent hotplugging of PCI devices will also be possible. It is not possible to unconditionally enable 'passthrough' since it would introduce a migration incompatibility due to guest ABI change. Instead, introduce another Xen hypervisor feature that can be used to enable guest PCI passthrough <features> <xen> <passthrough state='on'/> </xen> </features> To allow finer control over how IOMMU maps to guest P2M table, the passthrough element also supports a 'mode' attribute with values restricted to snyc_pt and share_pt, similar to xl.cfg(5) 'passthrough' setting . Signed-off-by: NJim Fehlig <jfehlig@suse.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Reviewed-by: NJim Fehlig <jfehlig@suse.com>
-
Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Reviewed-by: NJim Fehlig <jfehlig@suse.com>
-
e820_host is a Xen-specific option, only available for PV domains, that provides the domain a virtual e820 memory map based on the host one. It is enabled with a new Xen hypervisor feature, e.g. <features> <xen> <e820_host state='on'/> </xen> </features> e820_host is required when using PCI passthrough and is generally considered safe for any PV kernel. e820_host is silently ignored if set in HVM domain configuration. See xl.cfg(5) man page in the Xen documentation for more details. Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Reviewed-by: NJim Fehlig <jfehlig@suse.com>
-
- 20 4月, 2020 14 次提交
-
-
由 Mark Asselstine 提交于
The udev monitor thread "udevEventHandleThread()" will lag the actual/real view of devices in sysfs as it serially processes udev monitor events. So for instance if you were to run the following cmd to create a new veth pair and rename one of the veth endpoints you might see the following monitor events and real world that looks like time | create v0 sysfs entry wake udevEventHandleThread | create v1 sysfs entry udev_monitor_receive_device(v1-add) | move v0 sysfs to v2 udevHandleOneDevice(v1) | udev_monitor_receive_device(v0-add) | udevHandleOneDevice(v0) | <--- error msgs in virNetDevGetLinkInfo() udev_monitor_receive_device(v2-move) | as v0 no longer exists udevHandleOneDevice(v2) | \/ As you can see the changes in sysfs can take place well before we get to act on the events in the udevEventHandleThread(), so by the time we get around to processing the v0 add event, the sysfs entry has been moved to v2. To work around this we check if the sysfs entry is valid before attempting to read it and don't bother trying to read link info if not. This is safe since we will never read sysfs entries earlier than it existing, ie. if the entry is not there it has either been removed in the time since we enumerated the device or something bigger is busted, in either case, no sysfs entry, no link info. In the case described above we will eventually get the link info as we work through the queue of monitor events and get to the 'move' event. https://bugzilla.redhat.com/show_bug.cgi?id=1557902Signed-off-by: NMark Asselstine <mark.asselstine@windriver.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NMartin Kletzander <mkletzan@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Mark Asselstine 提交于
It is possible and common to rename some devices, this is especially true for ethernet devices such as veth pairs. In the udevEventHandleThread() we will be notified of this change but currently we only process "add", "change" and "remove" events. Renaming a device such as above results in a "move" event, not a "remove" followed by and "add" or vise versa. This change will add the new/destination device to our records but unfortunately there is no usable mechanism to identify the old/source device to remove it from the records. So this is admittedly only a partial fix. Signed-off-by: NMark Asselstine <mark.asselstine@windriver.com> Reviewed-by: NMartin Kletzander <mkletzan@redhat.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Daniel P. Berrangé 提交于
Changes in the API: - APIs related to the graphics adapter are no longer on the IMachine interface, but on a IGraphicsAdapter interface - The LaunchVMProcess method takes a list of env variables instead of a single variable containing a concatenated list. Since we only ever pass a single env variable, we can simply stuff it straight into a list. - The DHCP server start method no longer needs the network name Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Changes in the API: - The CreatedSharedFolder method now accepts a target mount point. Since we don't request automount, we're just passing NULL. We could, however, use this to pass the desired mount target from the XML config in future. Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Long ago we switched the vbox driver to run inside libvirtd to avoid libvirt.so being polluted with GPLv2-only code. Since libvirtd is not built on Windows, we disabled vbox on Windows builds. Thus the MSCOM glue code is not required. Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
This is no longer supported since 2018/04 Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
This is no longer supported since 2017/05 Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Michal Privoznik 提交于
While I'm at it, use more g_autofree and g_autoptr() in this file. This also fixes a possible mem-leak in virNetDevGetVirtualFunctions(). Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Michal Privoznik 提交于
I've just got a new machine and I'm still converging on the kernel config. Anyway, since I don't have enabled any of SRIO-V drivers, my kernel doesn't have NET_DEVLINK enabled (i.e. virNetDevGetFamilyId() returns 0). But this makes nodedev driver ignore all interfaces, because when enumerating all devices via udev, the control reaches virNetDevSwitchdevFeature() eventually and subsequently virNetDevGetFamilyId() which 'fails'. Well, it's not really a failure - the virNetDevSwitchdevFeature() stub simply returns 0. Also, move the call a few lines below, just around the place where it's needed. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Michal Privoznik 提交于
Introduced in v3.8.0-rc1~96, the virNetDevGetFamilyId() gets netlink family ID for passed family name (even though it's used only for getting "devlink" ID). Nevertheless, the function returns 0 on an error or if no family ID was found. This makes it harder for a caller to distinguish these two. Change the retval so that a negative value is returned upon error, zero is no ID found (but no error encountered) and a positive value is returned on successful translation. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
- 18 4月, 2020 1 次提交
-
-
由 Jiri Denemark 提交于
This fixes build on mingw broken by my previous commit 36e12529. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-