RE: [PATCH 1/3] qla2xxx: Remove check to return DID_NO_CONNECT when FC device is lost.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



James,

Sorry about that. Here's the commit message, which explains the patch. Can you please add this to the patch? Thanks in advance:

---
If the target device gets lost, this fix is needed, as it causes negative unintended responses on basic I/O tests. If the target device gets lost, the upstream qla2xxx driver returns SCSI_MLQUEUE_TARGET_BUSY which causes an immediate retry without drop in the number of allowed retries. This semantic change, as a result of removing FC_DEVICE_LOST check is reasonable, as it only extends a short transitional period, until the transport is called to notify that the rport as lost (fc_remote_port_delete()). Once transport notification is done, fc_remote_port_chkready() check will take over.
---

Cheers,
Madhu

> -----Original Message-----
> From: James Bottomley [mailto:James.Bottomley@xxxxxxx]
> Sent: Saturday, February 12, 2011 8:52 AM
> To: Madhu Iyengar
> Cc: Giridhar Malavali; Andrew Vasquez; linux-scsi@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 1/3] qla2xxx: Remove check to return DID_NO_CONNECT
> when FC device is lost.
>
> On Fri, 2011-01-28 at 15:17 -0800, madhu.iyengar@xxxxxxxxxx wrote:
> > From: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx>
> >
> > Signed-off-by: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx>
> > Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@xxxxxxxxxx>
> > ---
> >  drivers/scsi/qla2xxx/qla_os.c |    1 -
> >  1 files changed, 0 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/scsi/qla2xxx/qla_os.c
> b/drivers/scsi/qla2xxx/qla_os.c
> > index c194c23..5dc548b 100644
> > --- a/drivers/scsi/qla2xxx/qla_os.c
> > +++ b/drivers/scsi/qla2xxx/qla_os.c
> > @@ -562,7 +562,6 @@ qla2xxx_queuecommand_lck(struct scsi_cmnd *cmd, void
> (*done)(struct scsi_cmnd *)
> >     }
> >     if (atomic_read(&fcport->state) != FCS_ONLINE) {
> >             if (atomic_read(&fcport->state) == FCS_DEVICE_DEAD ||
> > -                   atomic_read(&fcport->state) == FCS_DEVICE_LOST ||
>
> This looks like you're actually *not* returning DID_NO_CONNECT when the
> device is lost ... what are you returning instead, and why is this an
> important bug fix?
>
> James
>
>
> >                     atomic_read(&base_vha->loop_state) == LOOP_DEAD) {
> >                     cmd->result = DID_NO_CONNECT << 16;
> >                     goto qc24_fail_command;
>
>


This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux