29 lines
862 B
Diff
29 lines
862 B
Diff
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;
|