device-mapper-multipath/uevent_fix.patch
Benjamin Marzinski 765b685946 Since libaio is now in /lib, not /usr/lib, multipath no longer needs to
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
2008-09-26 23:28:36 +00:00

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;