The following series implements the following two changes with some minor
cleanups too.
1) Add rogue rports to the disc->rports list. This allows us to free rogue
rports when the
local port is being reset.
2) Check for error codes first in response handlers. In some response handlers
we're checking
the state before the error codes. If we're passed up an ERR, but the state is
not what we
expect we'll notice that the state is not as is expected and we'll try to free
the frame. Since
there isn't a frame, just an error code, we'll Oops the kernel.
This series is based on fcoe-fixes.git + Vasu's "libfc: fixed a read IO data
integrity issue when a IO data frame lost" patch.
---
Robert Love (5):
libfc: check for err when recv and state is incorrect
libfc: track rogue rports on the disc->rports list
libfc: use RPORT_TO_PRIV not rport->dd_data
libfc: rename rp to rdata in fc_disc_new_target()
libfc: Don't violate transport template for rogue port creation
drivers/scsi/libfc/fc_disc.c | 45 +++++++++---
drivers/scsi/libfc/fc_fcp.c | 14 ++--
drivers/scsi/libfc/fc_lport.c | 56 +++++++-------
drivers/scsi/libfc/fc_rport.c | 160 ++++++++++++++++++++++++++++-------------
include/scsi/libfc.h | 5 +
5 files changed, 183 insertions(+), 97 deletions(-)
--
//Rob
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel