This patchset is the final section of the SMB2.1 support merge for cifs.ko. It also includes improvements to the cifs socket handling from Jeff, and also fixes a few cifs bug fixes. It adds SMB2 support for file and inode operations as well as moves some existing cifs code to use ops server struct of protocol specific callbacks. Most of this code is SMB2 specific. When enabled SMB2.1 does pass various functional tests including most of the connectathon test suite, For SMB2.1, Connectathon test 4 and some related tests fail due to not updating mode bits remotely (cifsacl support where mode bits are approximated with the cifs acl is not enable for smb2), and test8 (symlink) support is not completed for SMB2 yet (note that we will likely have a "Unix Extensions" eventually, at least for Samba, so in the long run posix locks won't have to be emulated when mounting Linux to Linux, but for most NAS and for Windows mounts posix lock emulation will still used for SMB2 in a similar fashion as we do for cifs). SMB2.1 dialect is supported. Although additional fixes to enable smb2 (the original smb2.02) dialect and to add various optional features of the smb3 dialect are expected to be added in the future as testing progresses, currently mounting with the "vers=2.1" is supported (in order to mount using SMB2.1 to servers like Samba 4, and Windows 7, Windows 2008R2). The following changes since commit 56d27adcb536b7430d5f8a6240df8ad261eb00bd: Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile (2012-09-24 16:17:17 -0700) are available in the git repository at: git://git.samba.org/sfrench/cifs-2.6.git for-linus for you to fetch changes up to 1d4ab9077681b7cce60ff46e3a42fe2dafa0b83d: [CIFS] Fix indentation of fs/cifs/Kconfig entries (2012-10-01 12:48:03 -0500) ---------------------------------------------------------------- Jeff Layton (20): 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 cifs: cleanups for cifs_mkdir_qinfo cifs: add FL_CLOSE to fl_flags mask in cifs_read_flock cifs: remove support for CIFS_IOC_CHECKUMOUNT ioctl cifs: remove support for deprecated "forcedirectio" and "strictcache" mount options cifs: change DOS/NT/POSIX mapping of ERRnoresource Pavel Shilovsky (54): CIFS: Move unlink code to ops struct CIFS: Add SMB2 support for unlink CIFS: Replace netfid with cifs_fid struct in cifsFileInfo CIFS: Move open code to ops struct CIFS: Move close code to ops struct CIFS: Add open/close file support for SMB2 CIFS: Move guery file info code to ops struct CIFS: Add SMB2 support for query_file_info CIFS: Move create code use ops struct CIFS: Move reopen code to ops struct CIFS: Make flush code use ops struct CIFS: Add SMB2 support for flush CIFS: Move r/wsize negotiating to ops struct CIFS: Add SMB2 r/wsize negotiating CIFS: Move async read to ops struct CIFS: Add SMB2 support for cifs_iovec_read CIFS: Move async write to ops struct CIFS: Add SMB2 support for cifs_iovec_write CIFS: Move readpage code to ops struct CIFS: Add readpage support for SMB2 CIFS: Move writepage to ops struct CIFS: Add writepage support for SMB2 CIFS: Enable signing in SMB2 CIFS: Move rename to ops struct CIFS: Add SMB2 support for rename operation CIFS: Add SMB2 support for hardlink operation CIFS: Move set_file_size to ops struct CIFS: Add SMB2 support for set_file_size CIFS: Move set_file_info to ops struct CIFS: Add set_file_info support for SMB2 CIFS: Move readdir code to ops struct CIFS: Add readdir support for SMB2 CIFS: Process oplocks for SMB2 CIFS: Move oplock break to ops struct CIFS: Add oplock break support for SMB2 CIFS: Move statfs to ops struct CIFS: Add statfs support for SMB2 CIFS: Add NTLMSSP sec type to defaults CIFS: Remove spinlock dependence in brlock processing CIFS: Move brlock code to ops struct CIFS: Handle SMB2 lock flags CIFS: Add brlock support for SMB2 CIFS: Use brlock cache for SMB2 CIFS: Turn lock mutex into rw semaphore CIFS: Check for mandatory brlocks on read/write CIFS: Request SMB2.1 leases CIFS: Fix cache coherency for read oplock case CIFS: Add SMB2.1 lease break support CIFS: Fix fast lease break after open problem CIFS: Fix endian conversion of IndexNumber CIFS: Fix possible memory leaks in SMB2 code CIFS: Make ops->close return void CIFS: Fix possible freed pointer dereference in SMB2_sess_setup CIFS: Fix possible freed pointer dereference in CIFS_SessSetup Sachin Prabhu (1): cifs: Mangle string used for unc in /proc/mounts Shirish Pargaonkar (1): cifs: obtain file access during backup intent lookup (resend) Steve French (6): CIFS: Move hardlink to ops struct Update cifs version number MARK SMB2 support EXPERIMENTAL Trivial endian fixes [CIFS] Fix SMB2 negotiation support to select only one dialect (based on vers=) [CIFS] Fix indentation of fs/cifs/Kconfig entries fs/cifs/Kconfig | 38 +- fs/cifs/Makefile | 2 +- fs/cifs/cifsacl.c | 2 +- fs/cifs/cifsencrypt.c | 67 ++- fs/cifs/cifsfs.c | 63 ++- fs/cifs/cifsfs.h | 2 +- fs/cifs/cifsglob.h | 268 +++++++++- fs/cifs/cifspdu.h | 2 +- fs/cifs/cifsproto.h | 136 +++--- fs/cifs/cifssmb.c | 289 +++++------ fs/cifs/connect.c | 198 +------- fs/cifs/dir.c | 124 +++-- fs/cifs/file.c | 1055 +++++++++++++++++++++++----------------- fs/cifs/inode.c | 441 ++++++++--------- fs/cifs/ioctl.c | 32 +- fs/cifs/link.c | 74 +-- fs/cifs/misc.c | 32 +- fs/cifs/netmisc.c | 9 +- fs/cifs/readdir.c | 167 ++++--- fs/cifs/sess.c | 3 +- fs/cifs/smb1ops.c | 328 ++++++++++++- fs/cifs/smb2file.c | 302 ++++++++++++ fs/cifs/smb2glob.h | 14 + fs/cifs/smb2inode.c | 98 +++- fs/cifs/smb2maperror.c | 6 +- fs/cifs/smb2misc.c | 240 ++++++++- fs/cifs/smb2ops.c | 346 ++++++++++++- fs/cifs/smb2pdu.c | 1235 ++++++++++++++++++++++++++++++++++++++++++++--- fs/cifs/smb2pdu.h | 284 ++++++++++- fs/cifs/smb2proto.h | 87 +++- fs/cifs/smb2transport.c | 204 +++++++- fs/cifs/transport.c | 283 +++++++---- 32 files changed, 4884 insertions(+), 1547 deletions(-) create mode 100644 fs/cifs/smb2file.c -- Thanks, Steve -- 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