]> git.baikalelectronics.ru Git - kernel.git/commit
cifs: Add support for follow_link on dfs shares under posix extensions
authorSachin Prabhu <sprabhu@redhat.com>
Mon, 2 Dec 2013 16:37:43 +0000 (16:37 +0000)
committerSteve French <smfrench@gmail.com>
Mon, 20 Jan 2014 06:14:14 +0000 (00:14 -0600)
commitbbfeae43b0e8997cd4e2f567a734271e86659280
treedf68cc1d3802579fa8704452425336f6e11ff511
parent09ff6db6b63e9a5097ba54a580821e1132de9369
cifs: Add support for follow_link on dfs shares under posix extensions

When using posix extensions, dfs shares in the dfs root show up as
symlinks resulting in userland tools such as 'ls' calling readlink() on
these shares. Since these are dfs shares, we end up returning -EREMOTE.

$ ls -l /mnt
ls: cannot read symbolic link /mnt/test: Object is remote
total 0
lrwxrwxrwx. 1 root root 19 Nov  6 09:47 test

With added follow_link() support for dfs shares, when using unix
extensions, we call GET_DFS_REFERRAL to obtain the DFS referral and
return the first node returned.

The dfs share in the dfs root is now displayed in the following manner.
$ ls -l /mnt
total 0
lrwxrwxrwx. 1 root root 19 Nov  6 09:47 test -> \vm140-31\test

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/smb1ops.c