diff options
author | Stefan Metzmacher <metze@samba.org> | 2010-08-05 15:19:56 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2010-09-29 15:04:31 -0400 |
commit | 1b12b9c15b4371d83b729b8fc18c670e78a1479b (patch) | |
tree | f82c9b0d01cdc5e64765780403f460e9e0d8496b /fs/cifs/readdir.c | |
parent | 8713d01db8bf948eb9632726f529ec4f821bb025 (diff) |
cifs: use Minshall+French symlink functions
If configured, Minshall+French Symlinks are used against
all servers. If the server supports UNIX Extensions,
we still create Minshall+French Symlinks on write,
but on read we fallback to UNIX Extension symlinks.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/readdir.c')
-rw-r--r-- | fs/cifs/readdir.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index d5e591fab475..6a8b417babab 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c | |||
@@ -738,6 +738,15 @@ static int cifs_filldir(char *pfindEntry, struct file *file, filldir_t filldir, | |||
738 | cifs_autodisable_serverino(cifs_sb); | 738 | cifs_autodisable_serverino(cifs_sb); |
739 | } | 739 | } |
740 | 740 | ||
741 | if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MF_SYMLINKS) && | ||
742 | CIFSCouldBeMFSymlink(&fattr)) | ||
743 | /* | ||
744 | * trying to get the type and mode can be slow, | ||
745 | * so just call those regular files for now, and mark | ||
746 | * for reval | ||
747 | */ | ||
748 | fattr.cf_flags |= CIFS_FATTR_NEED_REVAL; | ||
749 | |||
741 | ino = cifs_uniqueid_to_ino_t(fattr.cf_uniqueid); | 750 | ino = cifs_uniqueid_to_ino_t(fattr.cf_uniqueid); |
742 | tmp_dentry = cifs_readdir_lookup(file->f_dentry, &qstring, &fattr); | 751 | tmp_dentry = cifs_readdir_lookup(file->f_dentry, &qstring, &fattr); |
743 | 752 | ||