summaryrefslogtreecommitdiffstats
path: root/uevent_debug.patch
blob: 39c424da25289de7e35e25a2c687e0420eaab4e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Index: multipath-tools-080515/multipathd/main.c
===================================================================
--- multipath-tools-080515.orig/multipathd/main.c
+++ multipath-tools-080515/multipathd/main.c
@@ -619,14 +619,20 @@ uxsock_trigger (char * str, char ** repl
 static int
 uev_discard(char * devpath)
 {
+	char *tmp;
 	char a[10], b[10];
 
 	/*
 	 * keep only block devices, discard partitions
 	 */
-	if (sscanf(devpath, "/block/%10s", a) != 1 ||
-	    sscanf(devpath, "/block/%10[^/]/%10s", a, b) == 2) {
-		condlog(4, "discard event on %s", devpath);
+	tmp = strstr(devpath, "/block/");
+	if (tmp == NULL){
+		condlog(0, "no /block/ in '%s'", devpath);
+		return 1;
+	}
+	if (sscanf(tmp, "/block/%10s", a) != 1 ||
+	    sscanf(tmp, "/block/%10[^/]/%10s", a, b) == 2) {
+		condlog(0, "discard event on %s", devpath);
 		return 1;
 	}
 	return 0;