On Sat, Aug 18, 2012 at 7:10 PM, FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote: > On Sat, 18 Aug 2012 18:56:09 +1000 > ronnie sahlberg <ronniesahlberg@xxxxxxxxx> wrote: > >> The bug is that IF the initiator does state it can handle larger >> DATA-IN PDUs than 8kb, like open-iscsi does, and all other iniators >> also does. > > btw, I've seen initiators that don't send > MaxRecvDataSegmentLength long ago. I can't recall what. > > >> The b\ug in tgtd in processing the login is that tgtd ONLY parses this >> "lets use bigger than 8kb pdu" IFF the session is a discovery session, >> but not for NORMAL sessions. > > Can you recall why we handle discovery and normal sessions differently? That is an issue. Why should we handle discover and normal sessions differently at all. Please see the attached patch, it removes the session==discovery conditional and makes tgtd honour the negotiated maxrecvdatasegmentlength for all sessions, not just discovery. This should handle both the original issue with discovery and also the issue with large reads being split up in 8k trains ronnie shalberg
Attachment:
maxrecvdatasegmentlength.diff
Description: Binary data