This is the third version of this series. The main differences are: 1) fix up merge conflicts with Steve's for-next tree, mostly due to the merge of more SMB2 patches. 2) the async read code has been converted not to do as much kmapping We currently have a problem with the async write code on CONFIG_HIGHMEM architectures. It uses *way* too much kmap space. Not only does this limit throughput by adding an artificial bottleneck, but can lead to deadlocks. This patchset fixes this by making the code not kmap an entire array of pages before attempting to send and receive it. Instead, pages are dealt with one at a time so we only generally will have a single kmap in play at a time. I've tested this numerous ways and it seems to work as expected. Pavel reviewed an earlier series. Some of these patches have seen some changes but I've left his Reviewed-by's in place. Let me know if you want to withdraw them. It's probably too late now for the 3.6 merge window, but I'd like to see this go into linux-next very soon so that it's ready for merge in 3.7. Jeff Layton (15): cifs: change signing routines to deal with smb_rqst structs cifs: change smb2 signing routines to use smb_rqst structs cifs: convert send code to use smb_rqst structs cifs: cork the socket before a send and uncork it afterward cifs: teach smb_send_rqst how to handle arrays of pages cifs: teach signing routines how to deal with arrays of pages in a smb_rqst cifs: change cifs_call_async to use smb_rqst structs cifs: convert async write code to pass in data via rq_pages array cifs: remove the kmap size limit from wsize cifs: add deprecation warning to sockopt=TCP_NODELAY option cifs: allocate kvec array for cifs_readdata as a separate allocation cifs: turn the pages list in cifs_readdata into an array cifs: convert async read code to use pages array without kmapping cifs: replace kvec array in readdata with a single kvec cifs: remove kmap lock and rsize limit fs/cifs/cifsencrypt.c | 37 +++++-- fs/cifs/cifsfs.c | 4 - fs/cifs/cifsglob.h | 78 ++++++--------- fs/cifs/cifsproto.h | 25 +++-- fs/cifs/cifssmb.c | 106 +++++++++----------- fs/cifs/connect.c | 7 +- fs/cifs/file.c | 253 ++++++++++++++++++++++------------------------- fs/cifs/smb1ops.c | 6 -- fs/cifs/smb2ops.c | 6 -- fs/cifs/smb2pdu.c | 65 ++++++------ fs/cifs/smb2proto.h | 13 ++- fs/cifs/smb2transport.c | 83 ++++++++-------- fs/cifs/transport.c | 255 ++++++++++++++++++++++++++++++++++-------------- 13 files changed, 503 insertions(+), 435 deletions(-) -- 1.7.11.2 -- 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