[lib] rdac checker message fix
authorCharlie Brady <charlieb-dm-devel@budge.apana.org.au>
Wed, 24 Jun 2009 22:06:03 +0000 (00:06 +0200)
committerChristophe Varoqui <christophe.varoqui@free.fr>
Wed, 24 Jun 2009 22:06:03 +0000 (00:06 +0200)
when unplugging a link to the controller, that the path is seen as down,
but then is reported again as down when the link is restored.

Here's a sample log:

Jun 23 14:12:25 sun4150node1 iscsid: connection1:0 is operational after
recovery (4 attempts)
Jun 23 14:13:10 sun4150node1 kernel: ping timeout of 10 secs expired, last
rx 172050, last ping 177050,
now 187050
Jun 23 14:13:10 sun4150node1 kernel:  connection1:0: iscsi: detected conn
error (1011)
Jun 23 14:13:11 sun4150node1 multipathd: sdb: rdac checker reports path is
down
Jun 23 14:13:11 sun4150node1 multipathd: checker failed path 8:16 in map
mpath0
Jun 23 14:13:11 sun4150node1 kernel: device-mapper: multipath: Failing
path 8:16.
Jun 23 14:13:11 sun4150node1 multipathd: mpath0: remaining active paths: 1
Jun 23 14:13:11 sun4150node1 multipathd: dm-2: add map (uevent)
Jun 23 14:13:11 sun4150node1 multipathd: dm-2: devmap already registered
Jun 23 14:13:12 sun4150node1 iscsid: Kernel reported iSCSI connection 1:0
error (1011) state (3)
Jun 23 14:13:37 sun4150node1 multipathd: sdb: rdac checker reports path is
down
Jun 23 14:13:37 sun4150node1 multipathd: 8:16: reinstated
Jun 23 14:13:37 sun4150node1 multipathd: mpath0: remaining active paths: 2

Notice the first message at 14:13:37.

libmultipath/checkers/rdac.c

index c4c7b8f..1f46ac8 100644 (file)
@@ -107,5 +107,12 @@ libcheck_check (struct checker * c)
                return PATH_DOWN;
        }
 
-       return ((inq.avtcvp & 0x1) ? PATH_UP : PATH_GHOST);
+       if (inq.avtcvp & 0x1) {
+               MSG(c, MSG_RDAC_UP);
+               return PATH_UP;
+       }
+       else {
+               MSG(c, MSG_RDAC_GHOST);
+               return PATH_GHOST;
+       }
 }