diff options
author | Steve French <sfrench@us.ibm.com> | 2005-08-25 08:06:05 +0200 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-08-25 08:06:05 +0200 |
commit | a9d02ad49013c8fc527f06ca66417103cdbb08b6 (patch) | |
tree | 9ee3f14e81777296e7057adcfe5c986aea696d47 /fs/cifs/dir.c | |
parent | [CIFS] Use file instead of dentry in cifs dir_notify struct (diff) | |
download | linux-a9d02ad49013c8fc527f06ca66417103cdbb08b6.tar.xz linux-a9d02ad49013c8fc527f06ca66417103cdbb08b6.zip |
[CIFS] Support for legacy servers part 3 - Add support for Open and most
of Read support.
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/dir.c')
-rw-r--r-- | fs/cifs/dir.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 5311c50734b0..248ddebd67f4 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -184,6 +184,13 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, desiredAccess, CREATE_NOT_DIR, &fileHandle, &oplock, buf, cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); + if(rc == -EIO) { + /* old server, retry the open legacy style */ + rc = SMBLegacyOpen(xid, pTcon, full_path, disposition, + desiredAccess, CREATE_NOT_DIR, + &fileHandle, &oplock, buf, cifs_sb->local_nls, + cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); + } if (rc) { cFYI(1, ("cifs_create returned 0x%x ", rc)); } else { |