[lvm-devel] master - devcache: track more udev errors

Zdenek Kabelac zkabelac at sourceware.org
Mon Oct 30 13:39:40 UTC 2017


Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=e9206fb93dcbc7c07ee7f6c4438f1dbd91c4d73a
Commit:        e9206fb93dcbc7c07ee7f6c4438f1dbd91c4d73a
Parent:        af21263cb39bb850d5bf437fe0371e173b8c0246
Author:        Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate:    Mon Oct 30 13:16:50 2017 +0100
Committer:     Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Oct 30 13:16:50 2017 +0100

devcache: track more udev errors

Add a bit more details for failing udev function.
---
 lib/device/dev-cache.c |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/lib/device/dev-cache.c b/lib/device/dev-cache.c
index 83c2b12..dd12da1 100644
--- a/lib/device/dev-cache.c
+++ b/lib/device/dev-cache.c
@@ -939,12 +939,20 @@ static int _insert_udev_dir(struct udev *udev, const char *dir)
 	struct udev_device *device;
 	int r = 1;
 
-	if (!(udev_enum = udev_enumerate_new(udev)))
-		goto bad;
+	if (!(udev_enum = udev_enumerate_new(udev))) {
+		log_error("Failed to udev_enumerate_new.");
+		return 0;
+	}
 
-	if (udev_enumerate_add_match_subsystem(udev_enum, "block") ||
-	    udev_enumerate_scan_devices(udev_enum))
-		goto bad;
+	if (udev_enumerate_add_match_subsystem(udev_enum, "block")) {
+		log_error("Failed to udev_enumerate_add_match_subsystem.");
+		goto out;
+	}
+
+	if (udev_enumerate_scan_devices(udev_enum)) {
+		log_error("Failed to udev_enumerate_scan_devices.");
+		goto out;
+	}
 
 	/*
 	 * Report any missing information as "log_very_verbose" only, do not
@@ -981,13 +989,10 @@ static int _insert_udev_dir(struct udev *udev, const char *dir)
 		udev_device_unref(device);
 	}
 
+out:
 	udev_enumerate_unref(udev_enum);
-	return r;
 
-bad:
-	log_error("Failed to enumerate udev device list.");
-	udev_enumerate_unref(udev_enum);
-	return 0;
+	return r;
 }
 
 static void _insert_dirs(struct dm_list *dirs)




More information about the lvm-devel mailing list