Loading fs/cifs/readdir.c +1 −1 Original line number Diff line number Diff line Loading @@ -309,7 +309,7 @@ static void cifs_fulldir_info_to_fattr(struct cifs_fattr *fattr, { __dir_info_to_fattr(fattr, info); /* See MS-FSCC 2.4.18 FileIdFullDirectoryInformation */ /* See MS-FSCC 2.4.19 FileIdFullDirectoryInformation */ if (fattr->cf_cifsattrs & ATTR_REPARSE) fattr->cf_cifstag = le32_to_cpu(info->EaSize); cifs_fill_common_info(fattr, cifs_sb); Loading fs/cifs/smb2pdu.h +37 −2 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ struct share_redirect_error_context_rsp { __le32 NotificationType; __le32 ResourceNameOffset; __le32 ResourceNameLength; __le16 Flags; __le16 Reserved; __le16 TargetType; __le32 IPAddrCount; struct move_dst_ipaddr IpAddrMoveList[]; Loading Loading @@ -1448,6 +1448,22 @@ struct smb2_echo_rsp { #define SMB2_QUERY_DIRECTORY_IOV_SIZE 2 /* * Valid FileInformation classes. * * Note that these are a subset of the (file) QUERY_INFO levels defined * later in this file (but since QUERY_DIRECTORY uses equivalent numbers * we do not redefine them here) * * FileDirectoryInfomation 0x01 * FileFullDirectoryInformation 0x02 * FileIdFullDirectoryInformation 0x26 * FileBothDirectoryInformation 0x03 * FileIdBothDirectoryInformation 0x25 * FileNamesInformation 0x0C * FileIdExtdDirectoryInformation 0x3C */ struct smb2_query_directory_req { struct smb2_sync_hdr sync_hdr; __le16 StructureSize; /* Must be 33 */ Loading Loading @@ -1684,6 +1700,7 @@ struct smb3_fs_vol_info { #define FILEID_GLOBAL_TX_DIRECTORY_INFORMATION 50 #define FILE_STANDARD_LINK_INFORMATION 54 #define FILE_ID_INFORMATION 59 #define FILE_ID_EXTD_DIRECTORY_INFORMATION 60 struct smb2_file_internal_info { __le64 IndexNumber; Loading Loading @@ -1764,13 +1781,31 @@ struct smb2_file_network_open_info { __le32 Reserved; } __packed; /* level 34 Query also similar returned in close rsp and open rsp */ /* See MS-FSCC 2.4.43 */ /* See MS-FSCC 2.4.21 */ struct smb2_file_id_information { __le64 VolumeSerialNumber; __u64 PersistentFileId; /* opaque endianness */ __u64 VolatileFileId; /* opaque endianness */ } __packed; /* level 59 */ /* See MS-FSCC 2.4.18 */ struct smb2_file_id_extd_directory_info { __le32 NextEntryOffset; __u32 FileIndex; __le64 CreationTime; __le64 LastAccessTime; __le64 LastWriteTime; __le64 ChangeTime; __le64 EndOfFile; __le64 AllocationSize; __le32 FileAttributes; __le32 FileNameLength; __le32 EaSize; /* EA size */ __le32 ReparsePointTag; /* valid if FILE_ATTR_REPARSE_POINT set in FileAttributes */ __le64 UniqueId; /* inode num - le since Samba puts ino in low 32 bit */ char FileName[1]; } __packed; /* level 60 */ extern char smb2_padding[7]; /* equivalent of the contents of SMB3.1.1 POSIX open context response */ Loading Loading
fs/cifs/readdir.c +1 −1 Original line number Diff line number Diff line Loading @@ -309,7 +309,7 @@ static void cifs_fulldir_info_to_fattr(struct cifs_fattr *fattr, { __dir_info_to_fattr(fattr, info); /* See MS-FSCC 2.4.18 FileIdFullDirectoryInformation */ /* See MS-FSCC 2.4.19 FileIdFullDirectoryInformation */ if (fattr->cf_cifsattrs & ATTR_REPARSE) fattr->cf_cifstag = le32_to_cpu(info->EaSize); cifs_fill_common_info(fattr, cifs_sb); Loading
fs/cifs/smb2pdu.h +37 −2 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ struct share_redirect_error_context_rsp { __le32 NotificationType; __le32 ResourceNameOffset; __le32 ResourceNameLength; __le16 Flags; __le16 Reserved; __le16 TargetType; __le32 IPAddrCount; struct move_dst_ipaddr IpAddrMoveList[]; Loading Loading @@ -1448,6 +1448,22 @@ struct smb2_echo_rsp { #define SMB2_QUERY_DIRECTORY_IOV_SIZE 2 /* * Valid FileInformation classes. * * Note that these are a subset of the (file) QUERY_INFO levels defined * later in this file (but since QUERY_DIRECTORY uses equivalent numbers * we do not redefine them here) * * FileDirectoryInfomation 0x01 * FileFullDirectoryInformation 0x02 * FileIdFullDirectoryInformation 0x26 * FileBothDirectoryInformation 0x03 * FileIdBothDirectoryInformation 0x25 * FileNamesInformation 0x0C * FileIdExtdDirectoryInformation 0x3C */ struct smb2_query_directory_req { struct smb2_sync_hdr sync_hdr; __le16 StructureSize; /* Must be 33 */ Loading Loading @@ -1684,6 +1700,7 @@ struct smb3_fs_vol_info { #define FILEID_GLOBAL_TX_DIRECTORY_INFORMATION 50 #define FILE_STANDARD_LINK_INFORMATION 54 #define FILE_ID_INFORMATION 59 #define FILE_ID_EXTD_DIRECTORY_INFORMATION 60 struct smb2_file_internal_info { __le64 IndexNumber; Loading Loading @@ -1764,13 +1781,31 @@ struct smb2_file_network_open_info { __le32 Reserved; } __packed; /* level 34 Query also similar returned in close rsp and open rsp */ /* See MS-FSCC 2.4.43 */ /* See MS-FSCC 2.4.21 */ struct smb2_file_id_information { __le64 VolumeSerialNumber; __u64 PersistentFileId; /* opaque endianness */ __u64 VolatileFileId; /* opaque endianness */ } __packed; /* level 59 */ /* See MS-FSCC 2.4.18 */ struct smb2_file_id_extd_directory_info { __le32 NextEntryOffset; __u32 FileIndex; __le64 CreationTime; __le64 LastAccessTime; __le64 LastWriteTime; __le64 ChangeTime; __le64 EndOfFile; __le64 AllocationSize; __le32 FileAttributes; __le32 FileNameLength; __le32 EaSize; /* EA size */ __le32 ReparsePointTag; /* valid if FILE_ATTR_REPARSE_POINT set in FileAttributes */ __le64 UniqueId; /* inode num - le since Samba puts ino in low 32 bit */ char FileName[1]; } __packed; /* level 60 */ extern char smb2_padding[7]; /* equivalent of the contents of SMB3.1.1 POSIX open context response */ Loading