RE: [PATCH] qla2xxx: fix RSCN handling on big-endian systems

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

 



On Wednesday, February 21, 2007 6:54 PM, Malahal Naineni wrote:
> I have JBOD in FL-port and if I unplug the cable or disable 
> the switch port, the qla2xxx driver doesn't fail the I/O 
> soon. The remote port status is 'online' all the time. The 
> I/O's usually timeout after the usual scsi timeout.
Yes, that is because qla2xxx doesn't want to trigger unnecessary error
handling mechanism, which is expensive.
As long as State Change recovered within SCSI timeout period, driver
won't let mid-layer know about it.
> Based on 
> the existing structure, al_pa is at the lowest addressed 
> byte, so the b24 field's interpretation as an integer is 
> *incorrect* on big endinan systems. You should be able to print the
> b24 as an integer and see what you get is incorrect on big 
> endian systems.
I agree on your assessment. However, the patch won't fix the problem as
the problem itself is regardless byte ordering.
A patch which includes your evaluation will be submitted.
Thank you for findings.

Seokmann

> -----Original Message-----
> From: malahal@xxxxxxxxxx [mailto:malahal@xxxxxxxxxx] 
> Sent: Wednesday, February 21, 2007 6:54 PM
> To: Seokmann Ju
> Cc: linux-scsi@xxxxxxxxxxxxxxx; Linux Driver
> Subject: Re: [PATCH] qla2xxx: fix RSCN handling on big-endian systems
> 
> I have JBOD in FL-port and if I unplug the cable or disable 
> the switch port, the qla2xxx driver doesn't fail the I/O 
> soon. The remote port status is 'online' all the time. The 
> I/O's usually timeout after the usual scsi timeout. Based on 
> the existing structure, al_pa is at the lowest addressed 
> byte, so the b24 field's interpretation as an integer is 
> *incorrect* on big endinan systems. You should be able to print the
> b24 as an integer and see what you get is incorrect on big 
> endian systems.
> 
> Thanks, Malahal.
> 
> Seokmann Ju [seokmann.ju@xxxxxxxxxx] wrote:
> > On Monday, February 19, 2007 10:19 AM, Malahal Naineni wrote:
> > > qla2xxx driver fails to handle RSCN events affecting area 
> or domain 
> > > due to an endian issue on big endian systems.  This fixes the 
> > > port_id_t structure on big endian systems.
> > <NEED MORE INFORMATION>
> > Can you provide more details on the fails you are getting?
> > In my opinion, those fields in the structure should not get 
> affected 
> > by byte ordering.
> > 
> > Thank you,
> > 
> > Seokmann
> > 
> > > -----Original Message-----
> > > From: malahal@xxxxxxxxxx [mailto:malahal@xxxxxxxxxx]
> > > Sent: Monday, February 19, 2007 10:19 AM
> > > To: linux-scsi@xxxxxxxxxxxxxxx; Linux Driver
> > > Subject: [PATCH] qla2xxx: fix RSCN handling on big-endian systems
> > > 
> > > qla2xxx driver fails to handle RSCN events affecting area 
> or domain 
> > > due to an endian issue on big endian systems.  This fixes the 
> > > port_id_t structure on big endian systems.
> > > 
> > > Signed-off-by: Malahal Naineni <malahal@xxxxxxxxxx>
> > > 
> > > diff -r c860739bb0f4 drivers/scsi/qla2xxx/qla_def.h
> > > --- a/drivers/scsi/qla2xxx/qla_def.h	Fri Feb 16 
> 14:19:34 2007 -0800
> > > +++ b/drivers/scsi/qla2xxx/qla_def.h	Fri Feb 16 
> 14:21:29 2007 -0800
> > > @@ -1478,14 +1478,17 @@ typedef union {
> > >  	uint32_t b24 : 24;
> > >  
> > >  	struct {
> > > -		uint8_t d_id[3];
> > > -		uint8_t rsvd_1;
> > > -	} r;
> > > -
> > > -	struct {
> > > +#ifdef __BIG_ENDIAN
> > > +		uint8_t domain;
> > > +		uint8_t area;
> > > +		uint8_t al_pa;
> > > +#elif __LITTLE_ENDIAN
> > >  		uint8_t al_pa;
> > >  		uint8_t area;
> > >  		uint8_t domain;
> > > +#else
> > > +#error "__BIG_ENDIAN or __LITTLE_ENDIAN must be defined!"
> > > +#endif
> > >  		uint8_t rsvd_1;
> > >  	} b;
> > >  } port_id_t;
> > > 
> > -
> > 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
> 
-
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