CIFS: Fix symbolic links usage
Now we treat any reparse point as a symbolic link and map it to a Unix one that is not true in a common case due to many reparse point types supported by SMB servers. Distinguish reparse point types into two groups: 1) that can be accessed directly through a reparse point (junctions, deduplicated files, NFS symlinks); 2) that need to be processed manually (Windows symbolic links, DFS); and map only Windows symbolic links to Unix ones. Cc: <stable@vger.kernel.org> Acked-by:Jeff Layton <jlayton@redhat.com> Reported-and-tested-by:
Joao Correia <joaomiguelcorreia@gmail.com> Signed-off-by:
Pavel Shilovsky <piastry@etersoft.ru> Signed-off-by:
Steve French <smfrench@gmail.com>
Showing
- fs/cifs/cifsglob.h 1 addition, 1 deletionfs/cifs/cifsglob.h
- fs/cifs/inode.c 13 additions, 10 deletionsfs/cifs/inode.c
- fs/cifs/readdir.c 8 additions, 32 deletionsfs/cifs/readdir.c
- fs/cifs/smb1ops.c 20 additions, 1 deletionfs/cifs/smb1ops.c
- fs/cifs/smb2inode.c 12 additions, 4 deletionsfs/cifs/smb2inode.c
- fs/cifs/smb2proto.h 1 addition, 1 deletionfs/cifs/smb2proto.h
Loading
Please register or sign in to comment