dm_task_get_info will still return 1 if device doesn't exist. Check info.exists to ensure major and minor values are valid. There is no reason to assign info.open_count to @r here. Signed-off-by: Vaughan Cao <vaughan.cao@xxxxxxxxxx> --- libmultipath/devmapper.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c index 30e9351..3d4c111 100644 --- a/libmultipath/devmapper.c +++ b/libmultipath/devmapper.c @@ -567,10 +567,9 @@ dm_dev_t (const char * mapname, char * dev_t, int len) if (!dm_task_run(dmt)) goto out; - if (!dm_task_get_info(dmt, &info)) + if (!dm_task_get_info(dmt, &info) || !info.exists) goto out; - r = info.open_count; if (snprintf(dev_t, len, "%i:%i", info.major, info.minor) > len) goto out; -- 1.9.0 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel