This is a note to let you know that I've just added the patch titled SMB3: handle new statx fields to the 4.13-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: smb3-handle-new-statx-fields.patch and it can be found in the queue-4.13 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 6e70e26dc52be62c1f39f81b5f71fa5e643677aa Mon Sep 17 00:00:00 2001 From: Steve French <smfrench@xxxxxxxxx> Date: Thu, 21 Sep 2017 21:32:29 -0500 Subject: SMB3: handle new statx fields From: Steve French <smfrench@xxxxxxxxx> commit 6e70e26dc52be62c1f39f81b5f71fa5e643677aa upstream. We weren't returning the creation time or the two easily supported attributes (ENCRYPTED or COMPRESSED) for the getattr call to allow statx to return these fields. Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Ronnie Sahlberg <lsahlber@xxxxxxxxxx>\ Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilov@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/cifs/inode.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -234,6 +234,8 @@ cifs_unix_basic_to_fattr(struct cifs_fat fattr->cf_atime = cifs_NTtimeToUnix(info->LastAccessTime); fattr->cf_mtime = cifs_NTtimeToUnix(info->LastModificationTime); fattr->cf_ctime = cifs_NTtimeToUnix(info->LastStatusChange); + /* old POSIX extensions don't get create time */ + fattr->cf_mode = le64_to_cpu(info->Permissions); /* @@ -2024,6 +2026,19 @@ int cifs_getattr(const struct path *path stat->blksize = CIFS_MAX_MSGSIZE; stat->ino = CIFS_I(inode)->uniqueid; + /* old CIFS Unix Extensions doesn't return create time */ + if (CIFS_I(inode)->createtime) { + stat->result_mask |= STATX_BTIME; + stat->btime = + cifs_NTtimeToUnix(cpu_to_le64(CIFS_I(inode)->createtime)); + } + + stat->attributes_mask |= (STATX_ATTR_COMPRESSED | STATX_ATTR_ENCRYPTED); + if (CIFS_I(inode)->cifsAttrs & FILE_ATTRIBUTE_COMPRESSED) + stat->attributes |= STATX_ATTR_COMPRESSED; + if (CIFS_I(inode)->cifsAttrs & FILE_ATTRIBUTE_ENCRYPTED) + stat->attributes |= STATX_ATTR_ENCRYPTED; + /* * If on a multiuser mount without unix extensions or cifsacl being * enabled, and the admin hasn't overridden them, set the ownership Patches currently in stable-queue which might be from smfrench@xxxxxxxxx are queue-4.13/cifs-release-cifs-root_cred-after-exit_cifs.patch queue-4.13/smb3-warn-user-if-trying-to-sign-connection-that-authenticated-as-guest.patch queue-4.13/smb3-handle-new-statx-fields.patch queue-4.13/smb3-add-support-for-multidialect-negotiate-smb2.1-and-later.patch queue-4.13/smb3-don-t-ignore-o_sync-o_dsync-and-o_direct-flags.patch queue-4.13/fix-smb3.1.1-guest-authentication-to-samba.patch queue-4.13/cifs-release-auth_key.response-for-reconnect.patch queue-4.13/smb3-fix-endian-warning.patch queue-4.13/smb-validate-negotiate-to-protect-against-downgrade-even-if-signing-off.patch queue-4.13/cifs-check-rsp-for-null-before-dereferencing-in-smb2_open.patch