* Author(s): Steve French (sfrench@us.ibm.com)
*
* This library is free software; you can redistribute it and/or modify
* Author(s): Steve French (sfrench@us.ibm.com)
*
* This library is free software; you can redistribute it and/or modify
mode &= ~current->fs->umask;
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID) {
CIFSSMBUnixSetPerms(xid, pTcon, full_path, mode,
mode &= ~current->fs->umask;
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID) {
CIFSSMBUnixSetPerms(xid, pTcon, full_path, mode,
direntry->d_op = &cifs_dentry_ops;
d_instantiate(direntry, newinode);
}
direntry->d_op = &cifs_dentry_ops;
d_instantiate(direntry, newinode);
}
/* mknod case - do not leave file open */
CIFSSMBClose(xid, pTcon, fileHandle);
} else if (newinode) {
pCifsFile =
/* mknod case - do not leave file open */
CIFSSMBClose(xid, pTcon, fileHandle);
} else if (newinode) {
pCifsFile =
mode &= ~current->fs->umask;
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID) {
rc = CIFSSMBUnixSetPerms(xid, pTcon, full_path,
mode &= ~current->fs->umask;
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID) {
rc = CIFSSMBUnixSetPerms(xid, pTcon, full_path,
/* BB Do not bother to decode buf since no
local inode yet to put timestamps in,
but we can reuse it safely */
/* BB Do not bother to decode buf since no
local inode yet to put timestamps in,
but we can reuse it safely */
parent_dir_inode, direntry->d_name.name, direntry));
/* check whether path exists */
parent_dir_inode, direntry->d_name.name, direntry));
/* check whether path exists */
rc = cifs_get_inode_info_unix(&newInode, full_path,
parent_dir_inode->i_sb, xid);
else
rc = cifs_get_inode_info_unix(&newInode, full_path,
parent_dir_inode->i_sb, xid);
else
* case take precedence. If a is not a negative dentry, this
* should have no side effects
*/
* case take precedence. If a is not a negative dentry, this
* should have no side effects
*/