Can you try this patch. --------- Signed-off-by: Chandra Seetharaman <sekharan@xxxxxxxxxx> Index: linux-2.6.27/drivers/scsi/device_handler/scsi_dh_rdac.c =================================================================== --- linux-2.6.27.orig/drivers/scsi/device_handler/scsi_dh_rdac.c +++ linux-2.6.27/drivers/scsi/device_handler/scsi_dh_rdac.c @@ -386,6 +386,7 @@ static int check_ownership(struct scsi_d struct c9_inquiry *inqp; h->lun_state = RDAC_LUN_UNOWNED; + h->state = RDAC_STATE_ACTIVE; err = submit_inquiry(sdev, 0xC9, sizeof(struct c9_inquiry), h); if (err == SCSI_DH_OK) { inqp = &h->inq.c9; --- On Thu, 2008-10-30 at 17:21 -0600, Moger, Babu wrote: > Looks like eventually we get rport failure after the controller offline. > > > I have attached the messages file. I am running raw IO. > > Also, please note that I have added following lines in check_sense. This condition (quiescence) should be retried. > > > case UNIT_ATTENTION: > if ((sense_hdr->asc == 0x29 && sense_hdr->ascq == 0x00) || > (sense_hdr->asc == 0x8b && sense_hdr->ascq == 0x02)) > /* > * Power On, Reset, or Bus Device Reset, just retry. > */ > return ADD_TO_MLQUEUE; > > > > Thanks > Babu Moger > > -----Original Message----- > From: Chandra Seetharaman [mailto:sekharan@xxxxxxxxxx] > Sent: Thursday, October 30, 2008 5:24 PM > To: Moger, Babu > Cc: device-mapper development; linux-scsi@xxxxxxxxxxxxxxx > Subject: RE: i/o error due to all path failure with rdac > > > On Thu, 2008-10-30 at 14:30 -0600, Moger, Babu wrote: > > This is what happens in my case > > > > When the active path is failed, the dh handler calls rdac_activate to activate the passive path. > > Then check_ownership is called. As you know check_ownership sends inquiry (page c9). Looking at the > > response this function sets the lun_state(h->lun_state) to RDAC_LUN_OWNED. > > > > If lun_state is set to RDAC_LUN_OWNED then send_mode_select will not be called. This is what > > happens in my case. > > Ok. Now it is clear. I thought the port was disabled. > > The rport failure in the log you sent made me think that it was a port > disable. Why was there a rport failure ? > > Can you add these two lines at the top of > scsi_dn_rdac.c:rdac_check_sense() function, retest and send me the log. > ------------ > sdev_printk(KERN_ERR, sdev, "sense_key:%x; asc %c; ascq %x\n", > sense_hdr->sense_key, sense_hdr->asc, sense_hdr->ascq); > ----------- > I want to see if we are getting any special sense that we are not > handling. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel