[PATCH v2 12/20] exfat_d_revalidate(): use stable parent inode passed by caller

Al Viro
2025-01-16T05:23:20Z

... no need to bother with ->d_lock and ->d_parent->d_inode.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
fs/exfat/namei.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/fs/exfat/namei.c b/fs/exfat/namei.c
index e3b4feccba07..61c7164b85b3 100644
--- a/fs/exfat/namei.c
+++ b/fs/exfat/namei.c
@@ -34,8 +34,6 @@ static inline void exfat_d_version_set(struct dentry *dentry,
static int exfat_d_revalidate(struct inode *dir, const struct qstr *name,
struct dentry *dentry, unsigned int flags)
{
- int ret;
-
if (flags & LOOKUP_RCU)
return -ECHILD;

@@ -59,11 +57,7 @@ static int exfat_d_revalidate(struct inode *dir, const struct qstr *name,
if (flags & (LOOKUP_CREATE | LOOKUP_RENAME_TARGET))
return 0;

- spin_lock(&dentry->d_lock);
- ret = inode_eq_iversion(d_inode(dentry->d_parent),
- exfat_d_version(dentry));
- spin_unlock(&dentry->d_lock);
- return ret;
+ return inode_eq_iversion(dir, exfat_d_version(dentry));
}

/* returns the length of a struct qstr, ignoring trailing dots if necessary */
--
2.39.5