OSDN Git Service

cifs: pass the dentry instead of the inode down to the revalidation check functions
authorRonnie Sahlberg <lsahlber@redhat.com>
Mon, 8 Mar 2021 23:07:34 +0000 (09:07 +1000)
committerSteve French <stfrench@microsoft.com>
Sun, 25 Apr 2021 21:28:24 +0000 (16:28 -0500)
Needed for the final patch in the directory caching series

Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/inode.c

index fe3a50a..22662ea 100644 (file)
@@ -2188,8 +2188,9 @@ cifs_rename_exit:
 }
 
 static bool
-cifs_inode_needs_reval(struct inode *inode)
+cifs_dentry_needs_reval(struct dentry *dentry)
 {
+       struct inode *inode = d_inode(dentry);
        struct cifsInodeInfo *cifs_i = CIFS_I(inode);
        struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb);
 
@@ -2300,10 +2301,10 @@ cifs_zap_mapping(struct inode *inode)
 int cifs_revalidate_file_attr(struct file *filp)
 {
        int rc = 0;
-       struct inode *inode = file_inode(filp);
+       struct dentry *dentry = file_dentry(filp);
        struct cifsFileInfo *cfile = (struct cifsFileInfo *) filp->private_data;
 
-       if (!cifs_inode_needs_reval(inode))
+       if (!cifs_dentry_needs_reval(dentry))
                return rc;
 
        if (tlink_tcon(cfile->tlink)->unix_ext)
@@ -2327,7 +2328,7 @@ int cifs_revalidate_dentry_attr(struct dentry *dentry)
        if (inode == NULL)
                return -ENOENT;
 
-       if (!cifs_inode_needs_reval(inode))
+       if (!cifs_dentry_needs_reval(dentry))
                return rc;
 
        xid = get_xid();