aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r--fs/cifs/inode.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index e57e5c46ad48..7e4c24491729 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -371,7 +371,7 @@ static int get_sfu_mode(struct inode *inode,
371 371
372int cifs_get_inode_info(struct inode **pinode, 372int cifs_get_inode_info(struct inode **pinode,
373 const unsigned char *search_path, FILE_ALL_INFO *pfindData, 373 const unsigned char *search_path, FILE_ALL_INFO *pfindData,
374 struct super_block *sb, int xid) 374 struct super_block *sb, int xid, const __u16 *pfid)
375{ 375{
376 int rc = 0; 376 int rc = 0;
377 struct cifsTconInfo *pTcon; 377 struct cifsTconInfo *pTcon;
@@ -569,7 +569,7 @@ try_again_CIFSSMBQPathInfo:
569 /* fill in 0777 bits from ACL */ 569 /* fill in 0777 bits from ACL */
570 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) { 570 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) {
571 cFYI(1, ("Getting mode bits from ACL")); 571 cFYI(1, ("Getting mode bits from ACL"));
572 acl_to_uid_mode(inode, search_path); 572 acl_to_uid_mode(inode, search_path, pfid);
573 } 573 }
574#endif 574#endif
575 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) { 575 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) {
@@ -616,7 +616,8 @@ struct inode *cifs_iget(struct super_block *sb, unsigned long ino)
616 if (cifs_sb->tcon->unix_ext) 616 if (cifs_sb->tcon->unix_ext)
617 rc = cifs_get_inode_info_unix(&inode, "", inode->i_sb, xid); 617 rc = cifs_get_inode_info_unix(&inode, "", inode->i_sb, xid);
618 else 618 else
619 rc = cifs_get_inode_info(&inode, "", NULL, inode->i_sb, xid); 619 rc = cifs_get_inode_info(&inode, "", NULL, inode->i_sb, xid,
620 NULL);
620 if (rc && cifs_sb->tcon->ipc) { 621 if (rc && cifs_sb->tcon->ipc) {
621 cFYI(1, ("ipc connection - fake read inode")); 622 cFYI(1, ("ipc connection - fake read inode"));
622 inode->i_mode |= S_IFDIR; 623 inode->i_mode |= S_IFDIR;
@@ -949,7 +950,7 @@ mkdir_get_info:
949 inode->i_sb, xid); 950 inode->i_sb, xid);
950 else 951 else
951 rc = cifs_get_inode_info(&newinode, full_path, NULL, 952 rc = cifs_get_inode_info(&newinode, full_path, NULL,
952 inode->i_sb, xid); 953 inode->i_sb, xid, NULL);
953 954
954 if (pTcon->nocase) 955 if (pTcon->nocase)
955 direntry->d_op = &cifs_ci_dentry_ops; 956 direntry->d_op = &cifs_ci_dentry_ops;
@@ -1231,7 +1232,7 @@ int cifs_revalidate(struct dentry *direntry)
1231 } 1232 }
1232 } else { 1233 } else {
1233 rc = cifs_get_inode_info(&direntry->d_inode, full_path, NULL, 1234 rc = cifs_get_inode_info(&direntry->d_inode, full_path, NULL,
1234 direntry->d_sb, xid); 1235 direntry->d_sb, xid, NULL);
1235 if (rc) { 1236 if (rc) {
1236 cFYI(1, ("error on getting revalidate info %d", rc)); 1237 cFYI(1, ("error on getting revalidate info %d", rc));
1237/* if (rc != -ENOENT) 1238/* if (rc != -ENOENT)