aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/inode.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-08-23 23:26:03 -0400
committerSteve French <sfrench@us.ibm.com>2005-08-23 23:26:03 -0400
commit6b8edfe0f918e7585acb3bd63f62ff56e32dd3d2 (patch)
treeea9c6c9c85b0653aeac1abad87ad160114de28af /fs/cifs/inode.c
parenta10faeb2a3e266385cc334fe9af76e08e5e4330f (diff)
[CIFS] Support for mounting to older servers part 2. Add support for
legacy getattr (lookup). Signed-off-by: Steve French (sfrench@us.ibm.com)
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r--fs/cifs/inode.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index 2d50b3507d13..34f0168c4041 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -215,8 +215,18 @@ int cifs_get_inode_info(struct inode **pinode,
215 pfindData = (FILE_ALL_INFO *)buf; 215 pfindData = (FILE_ALL_INFO *)buf;
216 /* could do find first instead but this returns more info */ 216 /* could do find first instead but this returns more info */
217 rc = CIFSSMBQPathInfo(xid, pTcon, search_path, pfindData, 217 rc = CIFSSMBQPathInfo(xid, pTcon, search_path, pfindData,
218 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & 218 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags &
219 CIFS_MOUNT_MAP_SPECIAL_CHR); 219 CIFS_MOUNT_MAP_SPECIAL_CHR);
220 /* BB optimize code so we do not make the above call
221 when server claims no NT SMB support and the above call
222 failed at least once - set flag in tcon or mount */
223 if((rc == -EOPNOTSUPP) || (rc == -EINVAL)) {
224 rc = SMBQueryInformation(xid, pTcon, search_path,
225 pfindData, cifs_sb->local_nls,
226 cifs_sb->mnt_cifs_flags &
227 CIFS_MOUNT_MAP_SPECIAL_CHR);
228 }
229
220 } 230 }
221 /* dump_mem("\nQPathInfo return data",&findData, sizeof(findData)); */ 231 /* dump_mem("\nQPathInfo return data",&findData, sizeof(findData)); */
222 if (rc) { 232 if (rc) {