765b685946
statically link against it. Fixed an error with binding file and WWIDs that include spaces. Cleaned up the messages from the directio checker function. Fixed the udev rules. Fixed a regression in multipath.conf parsing Fixed 457530, 457589
29 lines
841 B
Diff
29 lines
841 B
Diff
Index: multipath-tools/multipathd/main.c
|
|
===================================================================
|
|
--- multipath-tools.orig/multipathd/main.c
|
|
+++ multipath-tools/multipathd/main.c
|
|
@@ -602,14 +602,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;
|