mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
lxc: report error message raised by the failing function
The code that calls VIR_WARN after a function fails, doesn't report the error message raised by the failing function. Such error messages are now reported in lxc/lxc_driver.c Signed-off-by: Prafullkumar Tale <talep158@gmail.com>
This commit is contained in:
parent
247e3a7275
commit
3f9e02b40a
@ -3915,8 +3915,8 @@ lxcDomainAttachDeviceDiskLive(virLXCDriverPtr driver,
|
|||||||
major(sb.st_rdev),
|
major(sb.st_rdev),
|
||||||
minor(sb.st_rdev),
|
minor(sb.st_rdev),
|
||||||
perms) < 0)
|
perms) < 0)
|
||||||
VIR_WARN("cannot deny device %s for domain %s",
|
VIR_WARN("cannot deny device %s for domain %s: %s",
|
||||||
src, vm->def->name);
|
src, vm->def->name, virGetLastErrorMessage());
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4011,8 +4011,8 @@ lxcDomainAttachDeviceNetLive(virConnectPtr conn,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
} else {
|
} else {
|
||||||
VIR_WARN("setting bandwidth on interfaces of "
|
VIR_WARN("setting bandwidth on interfaces of "
|
||||||
"type '%s' is not implemented yet",
|
"type '%s' is not implemented yet: %s",
|
||||||
virDomainNetTypeToString(actualType));
|
virDomainNetTypeToString(actualType), virGetLastErrorMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4116,8 +4116,8 @@ lxcDomainAttachDeviceHostdevSubsysUSBLive(virLXCDriverPtr driver,
|
|||||||
if (virUSBDeviceFileIterate(usb,
|
if (virUSBDeviceFileIterate(usb,
|
||||||
virLXCTeardownHostUSBDeviceCgroup,
|
virLXCTeardownHostUSBDeviceCgroup,
|
||||||
priv->cgroup) < 0)
|
priv->cgroup) < 0)
|
||||||
VIR_WARN("cannot deny device %s for domain %s",
|
VIR_WARN("cannot deny device %s for domain %s: %s",
|
||||||
src, vm->def->name);
|
src, vm->def->name, virGetLastErrorMessage());
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4190,8 +4190,8 @@ lxcDomainAttachDeviceHostdevStorageLive(virLXCDriverPtr driver,
|
|||||||
major(sb.st_rdev),
|
major(sb.st_rdev),
|
||||||
minor(sb.st_rdev),
|
minor(sb.st_rdev),
|
||||||
VIR_CGROUP_DEVICE_RWM) < 0)
|
VIR_CGROUP_DEVICE_RWM) < 0)
|
||||||
VIR_WARN("cannot deny device %s for domain %s",
|
VIR_WARN("cannot deny device %s for domain %s: %s",
|
||||||
def->source.caps.u.storage.block, vm->def->name);
|
def->source.caps.u.storage.block, vm->def->name, virGetLastErrorMessage());
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4262,8 +4262,8 @@ lxcDomainAttachDeviceHostdevMiscLive(virLXCDriverPtr driver,
|
|||||||
major(sb.st_rdev),
|
major(sb.st_rdev),
|
||||||
minor(sb.st_rdev),
|
minor(sb.st_rdev),
|
||||||
VIR_CGROUP_DEVICE_RWM) < 0)
|
VIR_CGROUP_DEVICE_RWM) < 0)
|
||||||
VIR_WARN("cannot deny device %s for domain %s",
|
VIR_WARN("cannot deny device %s for domain %s: %s",
|
||||||
def->source.caps.u.storage.block, vm->def->name);
|
def->source.caps.u.storage.block, vm->def->name, virGetLastErrorMessage());
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4434,8 +4434,8 @@ lxcDomainDetachDeviceDiskLive(virDomainObjPtr vm,
|
|||||||
|
|
||||||
if (virCgroupDenyDevicePath(priv->cgroup, src,
|
if (virCgroupDenyDevicePath(priv->cgroup, src,
|
||||||
VIR_CGROUP_DEVICE_RWM, false) != 0)
|
VIR_CGROUP_DEVICE_RWM, false) != 0)
|
||||||
VIR_WARN("cannot deny device %s for domain %s",
|
VIR_WARN("cannot deny device %s for domain %s: %s",
|
||||||
src, vm->def->name);
|
src, vm->def->name, virGetLastErrorMessage());
|
||||||
|
|
||||||
virDomainDiskRemove(vm->def, idx);
|
virDomainDiskRemove(vm->def, idx);
|
||||||
virDomainDiskDefFree(def);
|
virDomainDiskDefFree(def);
|
||||||
@ -4567,8 +4567,8 @@ lxcDomainDetachDeviceHostdevUSBLive(virLXCDriverPtr driver,
|
|||||||
if (virUSBDeviceFileIterate(usb,
|
if (virUSBDeviceFileIterate(usb,
|
||||||
virLXCTeardownHostUSBDeviceCgroup,
|
virLXCTeardownHostUSBDeviceCgroup,
|
||||||
priv->cgroup) < 0)
|
priv->cgroup) < 0)
|
||||||
VIR_WARN("cannot deny device %s for domain %s",
|
VIR_WARN("cannot deny device %s for domain %s: %s",
|
||||||
dst, vm->def->name);
|
dst, vm->def->name, virGetLastErrorMessage());
|
||||||
|
|
||||||
virObjectLock(hostdev_mgr->activeUSBHostdevs);
|
virObjectLock(hostdev_mgr->activeUSBHostdevs);
|
||||||
virUSBDeviceListDel(hostdev_mgr->activeUSBHostdevs, usb);
|
virUSBDeviceListDel(hostdev_mgr->activeUSBHostdevs, usb);
|
||||||
@ -4623,8 +4623,8 @@ lxcDomainDetachDeviceHostdevStorageLive(virDomainObjPtr vm,
|
|||||||
|
|
||||||
if (virCgroupDenyDevicePath(priv->cgroup, def->source.caps.u.storage.block,
|
if (virCgroupDenyDevicePath(priv->cgroup, def->source.caps.u.storage.block,
|
||||||
VIR_CGROUP_DEVICE_RWM, false) != 0)
|
VIR_CGROUP_DEVICE_RWM, false) != 0)
|
||||||
VIR_WARN("cannot deny device %s for domain %s",
|
VIR_WARN("cannot deny device %s for domain %s: %s",
|
||||||
def->source.caps.u.storage.block, vm->def->name);
|
def->source.caps.u.storage.block, vm->def->name, virGetLastErrorMessage());
|
||||||
|
|
||||||
virDomainHostdevRemove(vm->def, idx);
|
virDomainHostdevRemove(vm->def, idx);
|
||||||
virDomainHostdevDefFree(def);
|
virDomainHostdevDefFree(def);
|
||||||
@ -4673,8 +4673,8 @@ lxcDomainDetachDeviceHostdevMiscLive(virDomainObjPtr vm,
|
|||||||
|
|
||||||
if (virCgroupDenyDevicePath(priv->cgroup, def->source.caps.u.misc.chardev,
|
if (virCgroupDenyDevicePath(priv->cgroup, def->source.caps.u.misc.chardev,
|
||||||
VIR_CGROUP_DEVICE_RWM, false) != 0)
|
VIR_CGROUP_DEVICE_RWM, false) != 0)
|
||||||
VIR_WARN("cannot deny device %s for domain %s",
|
VIR_WARN("cannot deny device %s for domain %s: %s",
|
||||||
def->source.caps.u.misc.chardev, vm->def->name);
|
def->source.caps.u.misc.chardev, vm->def->name, virGetLastErrorMessage());
|
||||||
|
|
||||||
virDomainHostdevRemove(vm->def, idx);
|
virDomainHostdevRemove(vm->def, idx);
|
||||||
virDomainHostdevDefFree(def);
|
virDomainHostdevDefFree(def);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user