Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c45d707f authored by Steve French's avatar Steve French
Browse files

[CIFS] Fallback to standard mkdir if server incorrectly claims support for


posix ops

Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 5a07cdf8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 int cifs_ioctl(struct inode *inode, struct file *filep,
		       unsigned int command, unsigned long arg);
#define CIFS_VERSION   "1.50"
#define CIFS_VERSION   "1.51"
#endif				/* _CIFSFS_H */
+5 −2
Original line number Diff line number Diff line
@@ -925,7 +925,10 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
				full_path, cifs_sb->local_nls,
				cifs_sb->mnt_cifs_flags &
					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));
			d_drop(direntry);
		} else {
@@ -977,7 +980,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
		kfree(pInfo);
		goto mkdir_out;
	}

mkdir_retry_old:
	/* BB add setting the equivalent of mode via CreateX w/ACLs */
	rc = CIFSSMBMkDir(xid, pTcon, full_path, cifs_sb->local_nls,
			  cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);