device-mapper-multipath/fix_missed_uevs.patch

27 lines
816 B
Diff
Raw Normal View History

Index: multipath-tools-090724/libmultipath/uevent.c
===================================================================
--- multipath-tools-090724.orig/libmultipath/uevent.c
+++ multipath-tools-090724/libmultipath/uevent.c
@@ -231,7 +231,8 @@ int uevent_listen(int (*uev_trigger)(str
smsg.msg_control = cred_msg;
smsg.msg_controllen = sizeof(cred_msg);
- if (recvmsg(sock, &smsg, 0) < 0) {
+ buflen = recvmsg(sock, &smsg, 0);
+ if (buflen < 0) {
if (errno != EINTR)
condlog(0, "error receiving message");
continue;
@@ -286,8 +287,10 @@ int uevent_listen(int (*uev_trigger)(str
/* action string */
uev->action = buffer;
pos = strchr(buffer, '@');
- if (!pos)
+ if (!pos) {
+ condlog(3, "bad action string '%s'", buffer);
continue;
+ }
pos[0] = '\0';
/* sysfs path */