aboutsummaryrefslogtreecommitdiff
path: root/fs/cifs/smb2pdu.h
diff options
context:
space:
mode:
authorGravatar Steve French <stfrench@microsoft.com> 2020-06-11 19:25:47 -0500
committerGravatar Steve French <stfrench@microsoft.com> 2020-06-12 06:20:38 -0500
commit6a5f6592a0b606eac3147f786c958f1696c337f3 (patch)
tree0d96a5fd96ace58d3bae80302367837718f26e4c /fs/cifs/smb2pdu.h
parentsmb3: add indatalen that can be a non-zero value to calculation of credit cha... (diff)
downloadlinux-6a5f6592a0b606eac3147f786c958f1696c337f3.tar.gz
linux-6a5f6592a0b606eac3147f786c958f1696c337f3.tar.bz2
linux-6a5f6592a0b606eac3147f786c958f1696c337f3.zip
SMB311: Add support for query info using posix extensions (level 100)
Adds support for better query info on dentry revalidation (using the SMB3.1.1 POSIX extensions level 100). Followon patch will add support for translating the UID/GID from the SID and also will add support for using the posix query info on lookup. Signed-off-by: Steve French <stfrench@microsoft.com> Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com> Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Diffstat (limited to 'fs/cifs/smb2pdu.h')
-rw-r--r--fs/cifs/smb2pdu.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/fs/cifs/smb2pdu.h b/fs/cifs/smb2pdu.h
index 3b0e6acf9d7d..236814d61248 100644
--- a/fs/cifs/smb2pdu.h
+++ b/fs/cifs/smb2pdu.h
@@ -1653,7 +1653,7 @@ struct create_posix_rsp {
} __packed;
/*
- * SMB2-only POSIX info level
+ * SMB2-only POSIX info level for query dir
*
* See posix_info_sid_size(), posix_info_extra_size() and
* posix_info_parse() to help with the handling of this struct.
@@ -1683,6 +1683,31 @@ struct smb2_posix_info {
*/
} __packed;
+/* Level 100 query info */
+struct smb311_posix_qinfo {
+ __le64 CreationTime;
+ __le64 LastAccessTime;
+ __le64 LastWriteTime;
+ __le64 ChangeTime;
+ __le64 EndOfFile;
+ __le64 AllocationSize;
+ __le32 DosAttributes;
+ __le64 Inode;
+ __le32 DeviceId;
+ __le32 Zero;
+ /* beginning of POSIX Create Context Response */
+ __le32 HardLinks;
+ __le32 ReparseTag;
+ __le32 Mode;
+ u8 Sids[];
+ /*
+ * var sized owner SID
+ * var sized group SID
+ * le32 filenamelength
+ * u8 filename[]
+ */
+} __packed;
+
/*
* Parsed version of the above struct. Allows direct access to the
* variable length fields