Seokmann Ju [seokmann.ju@xxxxxxxxxx] wrote: > 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. I removed the cable and didn't put it back at all for more than 1 hour. There is no recovery here. When I disable an F-port, after few seconds the remote port state is set to something other than 'online'. Why not same behaviour for remote ports on FL-port. With my patch, the behaviour is same whether the remote port is attached to an FL-port or an F-port. > > 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. Well, my patch fixed the problem! qla2x00_device_resync() fails to call qla2x00_mark_device_lost() for RSCN's affecting area or domain because the following evaluates to true always due to b24 field being incorrect: (fcport->d_id.b24 & mask) != d_id.b24 Thanks, Malahal. - 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