If the specified UBI device or volume does not exist, the function
is supposed to set errno to ENODEV.
This patch adds a check to ubi_get_vol_info1 to change the errno
to ENODEV if vol_get_major cannot access the underlying sysfs file,
so the function propperly returns that the device or volume does
not exist, instead of failing with errno set to ENOENT.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
info->dev_num = dev_num;
info->vol_id = vol_id;
- if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor))
+ if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) {
+ if (errno == ENOENT)
+ errno = ENODEV;
return -1;
+ }
ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50);
if (ret < 0)