From 2fa389c5eb8c97d621653184d2adf5fdbd4a3167 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Thu, 23 Jun 2005 00:09:16 -0700 Subject: [PATCH] [PATCH] quota: sanitize dentry handling in vfs_quota_on_mount Use lookup_one_len instead of opencoding a simplified lookup using lookup_hash with a fake hash. Also there's no need anymore for the d_invalidate as we have a completely valid dentry now. Signed-off-by: Christoph Hellwig Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- fs/dquot.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/fs/dquot.c b/fs/dquot.c index 343c03655619..37212b039a4a 100644 --- a/fs/dquot.c +++ b/fs/dquot.c @@ -1522,11 +1522,10 @@ out_path: int vfs_quota_on_mount(struct super_block *sb, char *qf_name, int format_id, int type) { - struct qstr name = {.name = qf_name, .len = 0, .len = strlen(qf_name)}; struct dentry *dentry; int error; - dentry = lookup_hash(&name, sb->s_root); + dentry = lookup_one_len(qf_name, sb->s_root, strlen(qf_name)); if (IS_ERR(dentry)) return PTR_ERR(dentry); @@ -1534,12 +1533,6 @@ int vfs_quota_on_mount(struct super_block *sb, char *qf_name, if (!error) error = vfs_quota_on_inode(dentry->d_inode, type, format_id); - /* - * Now invalidate and put the dentry - quota got its own reference - * to inode and dentry has at least wrong hash so we had better - * throw it away. - */ - d_invalidate(dentry); dput(dentry); return error; }