diff options
-rw-r--r-- | fs/dquot.c | 9 |
1 files changed, 1 insertions, 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: | |||
1522 | int vfs_quota_on_mount(struct super_block *sb, char *qf_name, | 1522 | int vfs_quota_on_mount(struct super_block *sb, char *qf_name, |
1523 | int format_id, int type) | 1523 | int format_id, int type) |
1524 | { | 1524 | { |
1525 | struct qstr name = {.name = qf_name, .len = 0, .len = strlen(qf_name)}; | ||
1526 | struct dentry *dentry; | 1525 | struct dentry *dentry; |
1527 | int error; | 1526 | int error; |
1528 | 1527 | ||
1529 | dentry = lookup_hash(&name, sb->s_root); | 1528 | dentry = lookup_one_len(qf_name, sb->s_root, strlen(qf_name)); |
1530 | if (IS_ERR(dentry)) | 1529 | if (IS_ERR(dentry)) |
1531 | return PTR_ERR(dentry); | 1530 | return PTR_ERR(dentry); |
1532 | 1531 | ||
@@ -1534,12 +1533,6 @@ int vfs_quota_on_mount(struct super_block *sb, char *qf_name, | |||
1534 | if (!error) | 1533 | if (!error) |
1535 | error = vfs_quota_on_inode(dentry->d_inode, type, format_id); | 1534 | error = vfs_quota_on_inode(dentry->d_inode, type, format_id); |
1536 | 1535 | ||
1537 | /* | ||
1538 | * Now invalidate and put the dentry - quota got its own reference | ||
1539 | * to inode and dentry has at least wrong hash so we had better | ||
1540 | * throw it away. | ||
1541 | */ | ||
1542 | d_invalidate(dentry); | ||
1543 | dput(dentry); | 1536 | dput(dentry); |
1544 | return error; | 1537 | return error; |
1545 | } | 1538 | } |