diff options
author | Steve French <stfrench@microsoft.com> | 2020-06-11 22:43:01 -0500 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2020-06-12 08:54:12 -0500 |
commit | d313852d7ad044476df7f640801aac17080e0521 (patch) | |
tree | b9dea6d7abdfdb183f467df26f17726479909305 /fs/cifs/inode.c | |
parent | 790434ff9848a4d44f067a6a5416b49a2db89a59 (diff) |
smb311: add support for using info level for posix extensions query
Adds calls to the newer info level for query info using SMB3.1.1 posix extensions.
The remaining two places that call the older query info (non-SMB3.1.1 POSIX)
require passing in the fid and can be updated in a later patch.
Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index c367195bdb08..15ac63ff8ffc 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -1333,7 +1333,10 @@ struct inode *cifs_root_iget(struct super_block *sb) } convert_delimiter(path, CIFS_DIR_SEP(cifs_sb)); - rc = cifs_get_inode_info(&inode, path, NULL, sb, xid, NULL); + if (tcon->posix_extensions) + rc = smb311_posix_get_inode_info(&inode, path, sb, xid); + else + rc = cifs_get_inode_info(&inode, path, NULL, sb, xid, NULL); iget_no_retry: if (!inode) { @@ -1689,7 +1692,9 @@ cifs_mkdir_qinfo(struct inode *parent, struct dentry *dentry, umode_t mode, int rc = 0; struct inode *inode = NULL; - if (tcon->unix_ext) + if (tcon->posix_extensions) + rc = smb311_posix_get_inode_info(&inode, full_path, parent->i_sb, xid); + else if (tcon->unix_ext) rc = cifs_get_inode_info_unix(&inode, full_path, parent->i_sb, xid); else |