[dm-devel] [PATCH] dm-mpath-rdac: don't stomp on a request's transfer bit.
Andrew Vasquez
andrew.vasquez at qlogic.com
Tue Jul 17 21:07:06 UTC 2007
Signed-off-by: Andrew Vasquez <andrew.vasquez at qlogic.com>
---
On Thu, 12 Jul 2007, Mike Anderson wrote:
> Copying this mail to linux-scsi and Ccing Andrew Vasquez to possibly
> provide input on the Qlogic behavior.
...
> > > Jul 12 17:11:15 jimbo kernel: qla2xxx 0000:02:01.1: ISP System Error - mbx1=0h
> > > mbx2=8012h mbx3=8002h.
> > > Jul 12 17:11:15 jimbo kernel: qla2xxx 0000:02:01.1: Firmware has been previously
> > > dumped (ffffc2000171d000) -- ignoring request...
> > > Jul 12 17:11:16 jimbo kernel: qla2xxx 0000:02:01.1: Performing ISP error
> > > recovery - ha= ffff81007e85c530.
So what's happening here is the firmware is detecting a Xfer-ready
from the storage when in fact the data-direction for a mode-select
should be a write (DATA_OUT).
The following patch fixes the problem (typo). Verified by Brian, as
well.
diff --git a/drivers/md/dm-mpath-rdac.c b/drivers/md/dm-mpath-rdac.c
index 8b776b8..16b1613 100644
--- a/drivers/md/dm-mpath-rdac.c
+++ b/drivers/md/dm-mpath-rdac.c
@@ -292,7 +292,7 @@ static struct request *get_rdac_req(struct rdac_handler *h,
rq->end_io_data = h;
rq->timeout = h->timeout;
rq->cmd_type = REQ_TYPE_BLOCK_PC;
- rq->cmd_flags = REQ_FAILFAST | REQ_NOMERGE;
+ rq->cmd_flags |= REQ_FAILFAST | REQ_NOMERGE;
return rq;
}
More information about the dm-devel
mailing list