Loading fs/cifs/CHANGES +3 −1 Original line number Diff line number Diff line Version 1.40 ------------ Use fsuid (fsgid) more consistently instead of uid (gid). Improve performance of readpages by eliminating one extra memcpy. of readpages by eliminating one extra memcpy. Allow update of file size from remote server even if file is open for write as long as mount is directio. Version 1.39 ------------ Loading fs/cifs/cifs_fs_sb.h +3 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #define CIFS_MOUNT_POSIX_PATHS 0x40 /* Negotiate posix pathnames if possible. */ #define CIFS_MOUNT_UNX_EMUL 0x80 /* Network compat with SFUnix emulation */ #define CIFS_MOUNT_NO_BRL 0x100 /* No sending byte range locks to srv */ #define CIFS_MOUNT_CIFS_ACL 0x200 /* send ACL requests to non-POSIX srv */ struct cifs_sb_info { struct cifsTconInfo *tcon; /* primary mount */ Loading fs/cifs/cifsglob.h +2 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,8 @@ struct cifsTconInfo { atomic_t num_hardlinks; atomic_t num_symlinks; atomic_t num_locks; atomic_t num_acl_get; atomic_t num_acl_set; #ifdef CONFIG_CIFS_STATS2 unsigned long long time_writes; unsigned long long time_reads; Loading fs/cifs/cifspdu.h +78 −11 Original line number Diff line number Diff line Loading @@ -528,7 +528,7 @@ typedef union smb_com_session_setup_andx { /* STRING PrimaryDomain */ /* STRING NativeOS */ /* STRING NativeLanMan */ } __attribute__((packed)) old_req; /* pre-NTLM (LANMAN2.1) request format */ } __attribute__((packed)) old_req; /* pre-NTLM (LANMAN2.1) req format */ struct { /* default (NTLM) response format */ struct smb_hdr hdr; /* wct = 3 */ Loading @@ -540,7 +540,7 @@ typedef union smb_com_session_setup_andx { unsigned char NativeOS[1]; /* followed by */ /* unsigned char * NativeLanMan; */ /* unsigned char * PrimaryDomain; */ } __attribute__((packed)) old_resp; /* pre-NTLM (LANMAN2.1) response format */ } __attribute__((packed)) old_resp; /* pre-NTLM (LANMAN2.1) response */ } __attribute__((packed)) SESSION_SETUP_ANDX; #define CIFS_NETWORK_OPSYS "CIFS VFS Client for Linux" Loading Loading @@ -1007,10 +1007,49 @@ typedef struct smb_com_setattr_rsp { /* empty wct response to setattr */ /***************************************************/ /*******************************************************/ /* NT Transact structure defintions follow */ /* Currently only ioctl and notify are implemented */ /***************************************************/ /* Currently only ioctl, acl (get security descriptor) */ /* and notify are implemented */ /*******************************************************/ typedef struct smb_com_ntransact_req { struct smb_hdr hdr; /* wct >= 19 */ __u8 MaxSetupCount; __u16 Reserved; __le32 TotalParameterCount; __le32 TotalDataCount; __le32 MaxParameterCount; __le32 MaxDataCount; __le32 ParameterCount; __le32 ParameterOffset; __le32 DataCount; __le32 DataOffset; __u8 SetupCount; /* four setup words follow subcommand */ /* SNIA spec incorrectly included spurious pad here */ __le16 SubCommand; /* 2 = IOCTL/FSCTL */ /* SetupCount words follow then */ __le16 ByteCount; __u8 Pad[3]; __u8 Parms[0]; } __attribute__((packed)) NTRANSACT_REQ; typedef struct smb_com_ntransact_rsp { struct smb_hdr hdr; /* wct = 18 */ __u8 Reserved[3]; __le32 TotalParameterCount; __le32 TotalDataCount; __le32 ParameterCount; __le32 ParameterOffset; __le32 ParameterDisplacement; __le32 DataCount; __le32 DataOffset; __le32 DataDisplacement; __u8 SetupCount; /* 0 */ __u16 ByteCount; /* __u8 Pad[3]; */ /* parms and data follow */ } __attribute__((packed)) NTRANSACT_RSP; typedef struct smb_com_transaction_ioctl_req { struct smb_hdr hdr; /* wct = 23 */ __u8 MaxSetupCount; Loading @@ -1028,8 +1067,8 @@ typedef struct smb_com_transaction_ioctl_req { __le16 SubCommand; /* 2 = IOCTL/FSCTL */ __le32 FunctionCode; __u16 Fid; __u8 IsFsctl; /* 1 = File System Control, 0 = device control (IOCTL)*/ __u8 IsRootFlag; /* 1 = apply command to root of share (must be DFS share)*/ __u8 IsFsctl; /* 1 = File System Control 0 = device control (IOCTL) */ __u8 IsRootFlag; /* 1 = apply command to root of share (must be DFS) */ __le16 ByteCount; __u8 Pad[3]; __u8 Data[1]; Loading @@ -1049,9 +1088,35 @@ typedef struct smb_com_transaction_ioctl_rsp { __u8 SetupCount; /* 1 */ __le16 ReturnedDataLen; __u16 ByteCount; __u8 Pad[3]; } __attribute__((packed)) TRANSACT_IOCTL_RSP; #define CIFS_ACL_OWNER 1 #define CIFS_ACL_GROUP 2 #define CIFS_ACL_DACL 4 #define CIFS_ACL_SACL 8 typedef struct smb_com_transaction_qsec_req { struct smb_hdr hdr; /* wct = 19 */ __u8 MaxSetupCount; __u16 Reserved; __le32 TotalParameterCount; __le32 TotalDataCount; __le32 MaxParameterCount; __le32 MaxDataCount; __le32 ParameterCount; __le32 ParameterOffset; __le32 DataCount; __le32 DataOffset; __u8 SetupCount; /* no setup words follow subcommand */ /* SNIA spec incorrectly included spurious pad here */ __le16 SubCommand; /* 6 = QUERY_SECURITY_DESC */ __le16 ByteCount; /* bcc = 3 + 8 */ __u8 Pad[3]; __u16 Fid; __u16 Reserved2; __le32 AclFlags; } __attribute__((packed)) QUERY_SEC_DESC_REQ; typedef struct smb_com_transaction_change_notify_req { struct smb_hdr hdr; /* wct = 23 */ __u8 MaxSetupCount; Loading @@ -1076,6 +1141,8 @@ typedef struct smb_com_transaction_change_notify_req { /* __u8 Data[1];*/ } __attribute__((packed)) TRANSACT_CHANGE_NOTIFY_REQ; /* BB eventually change to use generic ntransact rsp struct and validation routine */ typedef struct smb_com_transaction_change_notify_rsp { struct smb_hdr hdr; /* wct = 18 */ __u8 Reserved[3]; Loading fs/cifs/cifsproto.h +3 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,9 @@ extern int CIFSSMBSetEA(const int xid, struct cifsTconInfo *tcon, const char *fileName, const char * ea_name, const void * ea_value, const __u16 ea_value_len, const struct nls_table *nls_codepage, int remap_special_chars); extern int CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid, char *acl_inf, const int buflen, const int acl_type /* ACCESS vs. DEFAULT */); extern int CIFSSMBGetPosixACL(const int xid, struct cifsTconInfo *tcon, const unsigned char *searchName, char *acl_inf, const int buflen,const int acl_type, Loading Loading
fs/cifs/CHANGES +3 −1 Original line number Diff line number Diff line Version 1.40 ------------ Use fsuid (fsgid) more consistently instead of uid (gid). Improve performance of readpages by eliminating one extra memcpy. of readpages by eliminating one extra memcpy. Allow update of file size from remote server even if file is open for write as long as mount is directio. Version 1.39 ------------ Loading
fs/cifs/cifs_fs_sb.h +3 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #define CIFS_MOUNT_POSIX_PATHS 0x40 /* Negotiate posix pathnames if possible. */ #define CIFS_MOUNT_UNX_EMUL 0x80 /* Network compat with SFUnix emulation */ #define CIFS_MOUNT_NO_BRL 0x100 /* No sending byte range locks to srv */ #define CIFS_MOUNT_CIFS_ACL 0x200 /* send ACL requests to non-POSIX srv */ struct cifs_sb_info { struct cifsTconInfo *tcon; /* primary mount */ Loading
fs/cifs/cifsglob.h +2 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,8 @@ struct cifsTconInfo { atomic_t num_hardlinks; atomic_t num_symlinks; atomic_t num_locks; atomic_t num_acl_get; atomic_t num_acl_set; #ifdef CONFIG_CIFS_STATS2 unsigned long long time_writes; unsigned long long time_reads; Loading
fs/cifs/cifspdu.h +78 −11 Original line number Diff line number Diff line Loading @@ -528,7 +528,7 @@ typedef union smb_com_session_setup_andx { /* STRING PrimaryDomain */ /* STRING NativeOS */ /* STRING NativeLanMan */ } __attribute__((packed)) old_req; /* pre-NTLM (LANMAN2.1) request format */ } __attribute__((packed)) old_req; /* pre-NTLM (LANMAN2.1) req format */ struct { /* default (NTLM) response format */ struct smb_hdr hdr; /* wct = 3 */ Loading @@ -540,7 +540,7 @@ typedef union smb_com_session_setup_andx { unsigned char NativeOS[1]; /* followed by */ /* unsigned char * NativeLanMan; */ /* unsigned char * PrimaryDomain; */ } __attribute__((packed)) old_resp; /* pre-NTLM (LANMAN2.1) response format */ } __attribute__((packed)) old_resp; /* pre-NTLM (LANMAN2.1) response */ } __attribute__((packed)) SESSION_SETUP_ANDX; #define CIFS_NETWORK_OPSYS "CIFS VFS Client for Linux" Loading Loading @@ -1007,10 +1007,49 @@ typedef struct smb_com_setattr_rsp { /* empty wct response to setattr */ /***************************************************/ /*******************************************************/ /* NT Transact structure defintions follow */ /* Currently only ioctl and notify are implemented */ /***************************************************/ /* Currently only ioctl, acl (get security descriptor) */ /* and notify are implemented */ /*******************************************************/ typedef struct smb_com_ntransact_req { struct smb_hdr hdr; /* wct >= 19 */ __u8 MaxSetupCount; __u16 Reserved; __le32 TotalParameterCount; __le32 TotalDataCount; __le32 MaxParameterCount; __le32 MaxDataCount; __le32 ParameterCount; __le32 ParameterOffset; __le32 DataCount; __le32 DataOffset; __u8 SetupCount; /* four setup words follow subcommand */ /* SNIA spec incorrectly included spurious pad here */ __le16 SubCommand; /* 2 = IOCTL/FSCTL */ /* SetupCount words follow then */ __le16 ByteCount; __u8 Pad[3]; __u8 Parms[0]; } __attribute__((packed)) NTRANSACT_REQ; typedef struct smb_com_ntransact_rsp { struct smb_hdr hdr; /* wct = 18 */ __u8 Reserved[3]; __le32 TotalParameterCount; __le32 TotalDataCount; __le32 ParameterCount; __le32 ParameterOffset; __le32 ParameterDisplacement; __le32 DataCount; __le32 DataOffset; __le32 DataDisplacement; __u8 SetupCount; /* 0 */ __u16 ByteCount; /* __u8 Pad[3]; */ /* parms and data follow */ } __attribute__((packed)) NTRANSACT_RSP; typedef struct smb_com_transaction_ioctl_req { struct smb_hdr hdr; /* wct = 23 */ __u8 MaxSetupCount; Loading @@ -1028,8 +1067,8 @@ typedef struct smb_com_transaction_ioctl_req { __le16 SubCommand; /* 2 = IOCTL/FSCTL */ __le32 FunctionCode; __u16 Fid; __u8 IsFsctl; /* 1 = File System Control, 0 = device control (IOCTL)*/ __u8 IsRootFlag; /* 1 = apply command to root of share (must be DFS share)*/ __u8 IsFsctl; /* 1 = File System Control 0 = device control (IOCTL) */ __u8 IsRootFlag; /* 1 = apply command to root of share (must be DFS) */ __le16 ByteCount; __u8 Pad[3]; __u8 Data[1]; Loading @@ -1049,9 +1088,35 @@ typedef struct smb_com_transaction_ioctl_rsp { __u8 SetupCount; /* 1 */ __le16 ReturnedDataLen; __u16 ByteCount; __u8 Pad[3]; } __attribute__((packed)) TRANSACT_IOCTL_RSP; #define CIFS_ACL_OWNER 1 #define CIFS_ACL_GROUP 2 #define CIFS_ACL_DACL 4 #define CIFS_ACL_SACL 8 typedef struct smb_com_transaction_qsec_req { struct smb_hdr hdr; /* wct = 19 */ __u8 MaxSetupCount; __u16 Reserved; __le32 TotalParameterCount; __le32 TotalDataCount; __le32 MaxParameterCount; __le32 MaxDataCount; __le32 ParameterCount; __le32 ParameterOffset; __le32 DataCount; __le32 DataOffset; __u8 SetupCount; /* no setup words follow subcommand */ /* SNIA spec incorrectly included spurious pad here */ __le16 SubCommand; /* 6 = QUERY_SECURITY_DESC */ __le16 ByteCount; /* bcc = 3 + 8 */ __u8 Pad[3]; __u16 Fid; __u16 Reserved2; __le32 AclFlags; } __attribute__((packed)) QUERY_SEC_DESC_REQ; typedef struct smb_com_transaction_change_notify_req { struct smb_hdr hdr; /* wct = 23 */ __u8 MaxSetupCount; Loading @@ -1076,6 +1141,8 @@ typedef struct smb_com_transaction_change_notify_req { /* __u8 Data[1];*/ } __attribute__((packed)) TRANSACT_CHANGE_NOTIFY_REQ; /* BB eventually change to use generic ntransact rsp struct and validation routine */ typedef struct smb_com_transaction_change_notify_rsp { struct smb_hdr hdr; /* wct = 18 */ __u8 Reserved[3]; Loading
fs/cifs/cifsproto.h +3 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,9 @@ extern int CIFSSMBSetEA(const int xid, struct cifsTconInfo *tcon, const char *fileName, const char * ea_name, const void * ea_value, const __u16 ea_value_len, const struct nls_table *nls_codepage, int remap_special_chars); extern int CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid, char *acl_inf, const int buflen, const int acl_type /* ACCESS vs. DEFAULT */); extern int CIFSSMBGetPosixACL(const int xid, struct cifsTconInfo *tcon, const unsigned char *searchName, char *acl_inf, const int buflen,const int acl_type, Loading