[dm-devel] [PATCH] multipath_tools: minor rdac message fix and code cleanup
Moger, Babu
Babu.Moger at lsi.com
Fri Apr 9 20:30:40 UTC 2010
This patch fixes a rdac minor message issue. rdac message is not passed in one of the path down cases. This patch fixes this problem. Also I have re-arranged the code for better readability.
Signed-off-by: Babu Moger <babu.moger at lsi.com>
Reviewed-by: Vijay Chauhan <Vijay.Chauhan at lsi.com>
---
--- multipath-tools/libmultipath/checkers/rdac.c.orig 2010-04-08 13:14:52.000000000 -0500
+++ multipath-tools/libmultipath/checkers/rdac.c 2010-04-09 13:57:36.000000000 -0500
@@ -101,24 +101,32 @@ extern int
libcheck_check (struct checker * c)
{
struct volume_access_inq inq;
+ int ret;
memset(&inq, 0, sizeof(struct volume_access_inq));
if (0 != do_inq(c->fd, 0xC9, &inq, sizeof(struct volume_access_inq))) {
- MSG(c, MSG_RDAC_DOWN);
- return PATH_DOWN;
- } else {
- if ((inq.PQ_PDT & 0x20) || (inq.PQ_PDT & 0x7f)) {
- /* LUN not connected*/
- return PATH_DOWN;
- }
+ ret = PATH_DOWN;
+ goto done;
+ } else if ((inq.PQ_PDT & 0x20) || (inq.PQ_PDT & 0x7f)) {
+ /* LUN not connected*/
+ ret = PATH_DOWN;
+ goto done;
}
- if (inq.avtcvp & 0x1) {
+ ret = ((inq.avtcvp & 0x1) ? PATH_UP : PATH_GHOST);
+
+done:
+ switch (ret) {
+ case PATH_DOWN:
+ MSG(c, MSG_RDAC_DOWN);
+ break;
+ case PATH_UP:
MSG(c, MSG_RDAC_UP);
- return PATH_UP;
- }
- else {
+ break;
+ case PATH_GHOST:
MSG(c, MSG_RDAC_GHOST);
- return PATH_GHOST;
+ break;
}
+
+ return ret;
}
More information about the dm-devel
mailing list