[CIFS] Fallback to standard mkdir if server incorrectly claims support for
posix ops Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
5a07cdf86c
commit
c45d707f67
|
@ -101,5 +101,5 @@ extern ssize_t cifs_getxattr(struct dentry *, const char *, void *, size_t);
|
||||||
extern ssize_t cifs_listxattr(struct dentry *, char *, size_t);
|
extern ssize_t cifs_listxattr(struct dentry *, char *, size_t);
|
||||||
extern int cifs_ioctl(struct inode *inode, struct file *filep,
|
extern int cifs_ioctl(struct inode *inode, struct file *filep,
|
||||||
unsigned int command, unsigned long arg);
|
unsigned int command, unsigned long arg);
|
||||||
#define CIFS_VERSION "1.50"
|
#define CIFS_VERSION "1.51"
|
||||||
#endif /* _CIFSFS_H */
|
#endif /* _CIFSFS_H */
|
||||||
|
|
|
@ -925,7 +925,10 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
|
||||||
full_path, cifs_sb->local_nls,
|
full_path, cifs_sb->local_nls,
|
||||||
cifs_sb->mnt_cifs_flags &
|
cifs_sb->mnt_cifs_flags &
|
||||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||||
if (rc) {
|
if (rc == -EOPNOTSUPP) {
|
||||||
|
kfree(pInfo);
|
||||||
|
goto mkdir_retry_old;
|
||||||
|
} else if (rc) {
|
||||||
cFYI(1, ("posix mkdir returned 0x%x", rc));
|
cFYI(1, ("posix mkdir returned 0x%x", rc));
|
||||||
d_drop(direntry);
|
d_drop(direntry);
|
||||||
} else {
|
} else {
|
||||||
|
@ -977,7 +980,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
|
||||||
kfree(pInfo);
|
kfree(pInfo);
|
||||||
goto mkdir_out;
|
goto mkdir_out;
|
||||||
}
|
}
|
||||||
|
mkdir_retry_old:
|
||||||
/* BB add setting the equivalent of mode via CreateX w/ACLs */
|
/* BB add setting the equivalent of mode via CreateX w/ACLs */
|
||||||
rc = CIFSSMBMkDir(xid, pTcon, full_path, cifs_sb->local_nls,
|
rc = CIFSSMBMkDir(xid, pTcon, full_path, cifs_sb->local_nls,
|
||||||
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||||
|
|
Loading…
Reference in New Issue