|
@@ -1709,21 +1709,18 @@ out:
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-int cifs_setattr(struct dentry *direntry, struct iattr *attrs)
|
|
|
+static int
|
|
|
+cifs_setattr_nounix(struct dentry *direntry, struct iattr *attrs)
|
|
|
{
|
|
|
int xid;
|
|
|
struct inode *inode = direntry->d_inode;
|
|
|
struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb);
|
|
|
- struct cifsTconInfo *pTcon = cifs_sb->tcon;
|
|
|
struct cifsInodeInfo *cifsInode = CIFS_I(inode);
|
|
|
char *full_path = NULL;
|
|
|
int rc = -EACCES;
|
|
|
__u32 dosattr = 0;
|
|
|
__u64 mode = NO_CHANGE_64;
|
|
|
|
|
|
- if (pTcon->unix_ext)
|
|
|
- return cifs_setattr_unix(direntry, attrs);
|
|
|
-
|
|
|
xid = GetXid();
|
|
|
|
|
|
cFYI(1, ("setattr on file %s attrs->iavalid 0x%x",
|
|
@@ -1850,6 +1847,21 @@ cifs_setattr_exit:
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
+int
|
|
|
+cifs_setattr(struct dentry *direntry, struct iattr *attrs)
|
|
|
+{
|
|
|
+ struct inode *inode = direntry->d_inode;
|
|
|
+ struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb);
|
|
|
+ struct cifsTconInfo *pTcon = cifs_sb->tcon;
|
|
|
+
|
|
|
+ if (pTcon->unix_ext)
|
|
|
+ return cifs_setattr_unix(direntry, attrs);
|
|
|
+
|
|
|
+ return cifs_setattr_nounix(direntry, attrs);
|
|
|
+
|
|
|
+ /* BB: add cifs_setattr_legacy for really old servers */
|
|
|
+}
|
|
|
+
|
|
|
#if 0
|
|
|
void cifs_delete_inode(struct inode *inode)
|
|
|
{
|