diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 6acc73c80d7f26421d7f2c1b7ca47236eb2a969d..f52c99f4785bc7da1c99c263188659c7f2cdcd53 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -237,6 +237,8 @@ nfs_find_actor(struct inode *inode, void *opaque) if (NFS_FILEID(inode) != fattr->fileid) return 0; + if ((S_IFMT & inode->i_mode) != (S_IFMT & fattr->mode)) + return 0; if (nfs_compare_fh(NFS_FH(inode), fh)) return 0; if (is_bad_inode(inode) || NFS_STALE(inode))