mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
nodedev: transient mdev update on nodeDeviceCreateXML
Update the optional mdev attributes by running an mdevctl update on a new created nodedev object representing an mdev. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2143158 Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com> Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
This commit is contained in:
parent
851c5f075b
commit
37481aa1f1
@ -1765,12 +1765,20 @@ nodeStateCleanup(void)
|
||||
static int
|
||||
udevHandleOneDevice(struct udev_device *device)
|
||||
{
|
||||
virNodeDevCapType dev_cap_type;
|
||||
const char *action = udev_device_get_action(device);
|
||||
|
||||
VIR_DEBUG("udev action: '%s': %s", action, udev_device_get_syspath(device));
|
||||
|
||||
if (STREQ(action, "add") || STREQ(action, "change"))
|
||||
return udevAddOneDevice(device);
|
||||
if (STREQ(action, "add") || STREQ(action, "change")) {
|
||||
int ret = udevAddOneDevice(device);
|
||||
if (ret == 0 &&
|
||||
udevGetDeviceType(device, &dev_cap_type) == 0 &&
|
||||
dev_cap_type == VIR_NODE_DEV_CAP_MDEV)
|
||||
if (nodeDeviceUpdateMediatedDevices() < 0)
|
||||
VIR_WARN("mdevctl failed to update mediated devices");
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (STREQ(action, "remove"))
|
||||
return udevRemoveOneDevice(device);
|
||||
|
Loading…
Reference in New Issue
Block a user