From: Christoph Hellwig 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 --- fs/dquot.c | 9 +-------- 1 files changed, 1 insertion(+), 8 deletions(-) diff -puN fs/dquot.c~quota-sanitize-dentry-handling-in-vfs_quota_on_mount fs/dquot.c --- 25/fs/dquot.c~quota-sanitize-dentry-handling-in-vfs_quota_on_mount 2005-05-06 18:12:40.000000000 -0700 +++ 25-akpm/fs/dquot.c 2005-05-06 18:12:40.000000000 -0700 @@ -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_bloc 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; } _