This patchset cleans up and overhauls the receive codepath. This can be considered phase one of a patchset to add support for larger and asynchronous reads to cifs.ko. This builds on the work that Pavel did in 3.1 to break up cifs_demultiplex_thread into multiple functions. It genericizes many of the receive routines and simplifies the functions further. It also adds the ability to do a receive into an array of iovecs, which will be a key to allowing reads that exceed the size of the CIFSMaxBufSize and minimizing copying in the read codepath. It also fixes a number of bugs in the current code that I found while scraping through here. Most of them are unreported as far as I know, but they're still worth fixing. I think this set of changes is probably ready for consideration for 3.2. It passes basic smoke testing. The series is bisectable, and most of the patches have been tested individually. It would be safest to commit these in order. Getting them into linux-next ASAP would be best to make sure that I didn't regress anything. Once I know that these patches are queued for merge, I'll plan to start work on the async readpages work in earnest. That shouldn't be too difficult once these changes are in place. Comments and suggestions welcome... Jeff Layton (14): cifs: trivial: remove obsolete comment cifs: make smb_msg local to read_from_socket cifs: check for unresponsive server every time we call kernel_recvmsg cifs: simplify read_from_socket cifs: turn read_from_socket into a wrapper around a vectorized version cifs: clean up check_rfc1002_header cifs: add a third receive phase to cifs_demultiplex_thread cifs: clean up checkSMB cifs: move mid finding into separate routine cifs: eliminate is_multi_rsp parm to find_cifs_mid cifs: move buffer pointers into TCP_Server_Info cifs: find mid earlier in receive codepath cifs: break out 3rd receive phase into separate function cifs: add a callback function to receive the rest of the frame fs/cifs/cifsglob.h | 27 +++- fs/cifs/connect.c | 505 +++++++++++++++++++++++++++++---------------------- fs/cifs/misc.c | 51 +++--- 3 files changed, 336 insertions(+), 247 deletions(-) -- 1.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html