summaryrefslogtreecommitdiffstats
path: root/fs/cifs/smb2pdu.h
diff options
context:
space:
mode:
authorPavel Shilovsky2016-10-25 01:59:57 +0200
committerSteve French2017-02-01 23:46:35 +0100
commitcb200bd6264a80c04e09e8635fa4f3901cabdaef (patch)
tree40cab9532abad0920fb8ff05573ac0a1b4bac931 /fs/cifs/smb2pdu.h
parentCIFS: Send RFC1001 length in a separate iov (diff)
downloadkernel-qcow2-linux-cb200bd6264a80c04e09e8635fa4f3901cabdaef.tar.gz
kernel-qcow2-linux-cb200bd6264a80c04e09e8635fa4f3901cabdaef.tar.xz
kernel-qcow2-linux-cb200bd6264a80c04e09e8635fa4f3901cabdaef.zip
CIFS: Separate SMB2 sync header processing
Do not process RFC1001 length in smb2_hdr_assemble() because it is not a part of SMB2 header. This allows to cleanup the code and adds a possibility combine several SMB2 packets into one for compounding. Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
Diffstat (limited to 'fs/cifs/smb2pdu.h')
-rw-r--r--fs/cifs/smb2pdu.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/cifs/smb2pdu.h b/fs/cifs/smb2pdu.h
index 8dd24b73d974..052342da4844 100644
--- a/fs/cifs/smb2pdu.h
+++ b/fs/cifs/smb2pdu.h
@@ -117,6 +117,11 @@ struct smb2_sync_hdr {
__u8 Signature[16];
} __packed;
+struct smb2_sync_pdu {
+ struct smb2_sync_hdr sync_hdr;
+ __le16 StructureSize2; /* size of wct area (varies, request specific) */
+} __packed;
+
struct smb2_hdr {
__be32 smb2_buf_length; /* big endian on wire */
/* length is only two or three bytes - with */