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

Commit 0510eeb7 authored by Jeff Layton's avatar Jeff Layton Committed by Steve French
Browse files

turn cifs_setattr into a multiplexor that calls the correct function

parent feb3e20c
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -1709,21 +1709,18 @@ cifs_setattr_unix(struct dentry *direntry, struct iattr *attrs)
	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 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs)
	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)
{