Im having slow read/write performance on my iscsi san. The packet traces show this message frequently "scsi transfer limited due to allocation length too small". Any one have an idea of why these messages show up in the traces? Tushar. asked 26 Apr '12, 15:03 tushar |
One Answer:
I'm somewhat new to the protocol, but I've spent the last week writing iSCSI and SCSI device emulation code. I've seen what you're talking about, and am about to implement the solutions into my emulation layer.... So what I think is happening there is the Inquery commmand sends out an inquery with the minimum allocaton length (36 bytes). However, that allocation length is not large enough to hold the response coming in. What should happen is the inquery will be reissued with a larger allocation length. Sometimes this occurs after a few other packets. I've seen this happen only on the INQUERY command EVPD flag is 0,but SCSI is obviously a big complex protocol and I THINK it can happen with lots of different commands. Again, I'm a bit new to this... there are hundreds of scsi commands and over a dozen iSCSI commands... and I'm currently just in the process of bashing through the issues as they come. How this might contribute to the slowness on your SAN is maybe dependent on how often and which commands are generating these issues. Most of the SCSI traffic is going to be Read/Write requests (followed by "Data In" responses). If you're seeing these messages in response to REad/Write requests, then maybe the client doesn't like the buffer lengths that the server is wanting to send back. There's supposed to be a negotiation when the iSCSI protocol is connected that determines the agreed-upon maximum transfer size. In my case I think it is around 8K. If they're only occurring on other control messages, then I think you're looking at a red herring. answered 10 Jun '13, 09:19 evilrobot edited 10 Jun '13, 09:35 |