mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-09 01:18:00 +03:00
virDevMapperGetTargetsImpl: Be tolerant to kernels without DM support
https://bugzilla.redhat.com/show_bug.cgi?id=1591732 If kernel is compiled without CONFIG_BLK_DEV_DM enabled, there is no /dev/mapper/control device and since dm_task_create() actually does some ioctl() over it creating a task may fail. To cope with this handle ENOENT and ENODEV gracefully. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
318d54e520
commit
170d1e31df
@ -87,8 +87,14 @@ virDevMapperGetTargetsImpl(const char *path,
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!(dmt = dm_task_create(DM_DEVICE_DEPS)))
|
||||
if (!(dmt = dm_task_create(DM_DEVICE_DEPS))) {
|
||||
if (errno == ENOENT || errno == ENODEV) {
|
||||
/* It's okay. Kernel is probably built without
|
||||
* devmapper support. */
|
||||
ret = 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!dm_task_set_name(dmt, path)) {
|
||||
if (errno == ENOENT) {
|
||||
|
Loading…
Reference in New Issue
Block a user