Re: [PATCH 05/10] fnic: fnic driver may hit BUG_ON on device reset

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

 



On Mon, 2012-12-10 at 01:21 -0800, Hiral Patel wrote:
> The issue was observed when LUN Reset is issued through IOCTL or sg_reset
> utility.
> 
> fnic driver issues LUN RESET to firmware. On successful completion of device
> reset, driver cleans up all the pending IOs that were issued prior to device
> reset. These pending IOs are expected to be in ABTS_PENDING state. This works
> fine, when the device reset operation resulted from midlayer, but not when
> device reset was triggered from IOCTL path as the pending IOs were not in
> ABTS_PENDING state. execution path hits panic if the pending IO is not in
> ABTS_PENDING state.
> 
> Changes:
> The fix replaces BUG_ON check in fnic_clean_pending_aborts() with marking
> pending IOs as ABTS_PENDING if they were not in ABTS_PENDING state and skips
> if they were already in ABTS_PENDING state. An extra check is added to validate
> the abort status of the commands after a delay of 2 * E_D_TOV using a
> helper function. The helper function returns 1 if it finds any pending IO in
> ABTS_PENDING state, belong to the LUN on which device reset was issued else 0.
> With this, device reset operation returns success only if the helper funciton
> returns 0, otherwise it returns failure.
> 
> Other changes:
> - Removed code in fnic_clean_pending_aborts() that returns failure if it finds
>   io_req NULL, instead of returning failure added code to continue with next io
> - Added device reset flags for debugging in fnic_terminate_rport_io,
>   fnic_rport_exch_reset, and fnic_clean_pending_aborts
> 
> Signed-off-by: Narsimhulu Musini <nmusini@xxxxxxxxx>
> Signed-off-by: Hiral Patel <hiralpat@xxxxxxxxx>

This one doesn't compile:

drivers/scsi/fnic/fnic_scsi.c: In function ‘fnic_clean_pending_aborts’:
drivers/scsi/fnic/fnic_scsi.c:1654:23: error: ‘FNIC_DEV_RST_ISSUED’ undeclared (first use in this function)
drivers/scsi/fnic/fnic_scsi.c:1654:23: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [drivers/scsi/fnic/fnic_scsi.o] Error 1

And that's because FNIC_DEV_RST_ISSUED isn't #defined until PATCH 06/10

Please redo 05-10 this time making sure they compile in sequence in
order to maintain bisectability

Thanks,

James


--
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