Searched hist:e3e65c69c3cfe8e407797c78fd11808aee1a8a81 (Results 1 – 1 of 1) sorted by relevance
/linux/drivers/scsi/libfc/ |
H A D | fc_exch.c | diff e3e65c69c3cfe8e407797c78fd11808aee1a8a81 Tue Jun 21 01:59:30 CEST 2011 Kiran Patil <kiran.patil@intel.com> [SCSI] libfc:Fix for exchange/seq loopup failure when FCoE stack is used as target and connected to windows initaitor
Problem: Linux based SW target (TCM) connected to windows initiator was unable to satisfy write request of size > 2K.
Fix: Existing linux implememtation of FCoE stack is expecting sequence number to match w.r.t incoming framme. When DDP is used on target in response to write request from initiator, SW stack is notified only when last data frame arrives and only the pakcket header of last data frame is posted to NetRx queue of storage. When that last packet was processed in libfc:Exchange layer, implementation was expecting sequence number to match, but in this case sequence number which is embedded in FC Header is assigned by windows initaitor, hence due to sequence number mismatch post-processing which shall result into sending RSP is not done. Enhanced the code to utilize the sequence number of incoming last frame and process the packet so that, it will eventually complete the write request by sending write response (RSP) GOOD.
Notes/Dependencies: This patch is validated using windows and linux initiator to make sure, it doesn't break anything.
Signed-off-by: Kiran Patil <kiran.patil@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
|