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/inode.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/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 93f77d438d3c..016975b8e6dd 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -332,6 +332,13 @@ int cifs_get_inode_info_unix(struct inode **pinode, | |||
332 | return rc; | 332 | return rc; |
333 | } | 333 | } |
334 | 334 | ||
335 | /* check for Minshall+French symlinks */ | ||
336 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MF_SYMLINKS) { | ||
337 | int tmprc = CIFSCheckMFSymlink(&fattr, full_path, cifs_sb, xid); | ||
338 | if (tmprc) | ||
339 | cFYI(1, "CIFSCheckMFSymlink: %d", tmprc); | ||
340 | } | ||
341 | |||
335 | if (*pinode == NULL) { | 342 | if (*pinode == NULL) { |
336 | /* get new inode */ | 343 | /* get new inode */ |
337 | cifs_fill_uniqueid(sb, &fattr); | 344 | cifs_fill_uniqueid(sb, &fattr); |
@@ -661,6 +668,13 @@ int cifs_get_inode_info(struct inode **pinode, | |||
661 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) | 668 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) |
662 | cifs_sfu_mode(&fattr, full_path, cifs_sb, xid); | 669 | cifs_sfu_mode(&fattr, full_path, cifs_sb, xid); |
663 | 670 | ||
671 | /* check for Minshall+French symlinks */ | ||
672 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MF_SYMLINKS) { | ||
673 | tmprc = CIFSCheckMFSymlink(&fattr, full_path, cifs_sb, xid); | ||
674 | if (tmprc) | ||
675 | cFYI(1, "CIFSCheckMFSymlink: %d", tmprc); | ||
676 | } | ||
677 | |||
664 | if (!*pinode) { | 678 | if (!*pinode) { |
665 | *pinode = cifs_iget(sb, &fattr); | 679 | *pinode = cifs_iget(sb, &fattr); |
666 | if (!*pinode) | 680 | if (!*pinode) |