diff options
author | Pavel Shilovsky <pshilovsky@samba.org> | 2013-08-14 19:25:21 +0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2013-09-08 14:27:34 -0500 |
commit | b42bf88828cde60772dc08201d0a4f1a0663d7bc (patch) | |
tree | 3b019e905c83aba6578b56ae5a49669f59db23cf /fs/cifs/inode.c | |
parent | 3ae35cde67c1ec50267bcc55d81f4953b5f637c2 (diff) | |
download | op-kernel-dev-b42bf88828cde60772dc08201d0a4f1a0663d7bc.zip op-kernel-dev-b42bf88828cde60772dc08201d0a4f1a0663d7bc.tar.gz |
CIFS: Implement follow_link for SMB2
that allows to access files through symlink created on a server.
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 449b6cf..ec0f342 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -549,6 +549,10 @@ cifs_all_info_to_fattr(struct cifs_fattr *fattr, FILE_ALL_INFO *info, * when Unix extensions are disabled - fake it. */ fattr->cf_nlink = 2; + } else if (fattr->cf_cifsattrs & ATTR_REPARSE) { + fattr->cf_mode = S_IFLNK; + fattr->cf_dtype = DT_LNK; + fattr->cf_nlink = le32_to_cpu(info->NumberOfLinks); } else { fattr->cf_mode = S_IFREG | cifs_sb->mnt_file_mode; fattr->cf_dtype = DT_REG; |