diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-11 23:20:37 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-26 02:46:07 -0500 |
commit | 4f522a247bc26d4ab5c8fc406ffffa8b3a77abe3 (patch) | |
tree | ed3ca7fb7316f96e7aab23f9563523521bed3259 /fs/ncpfs | |
parent | 3592ac444017996f5a8ecf85856af0a8938e8fd1 (diff) |
d_hash_and_lookup(): export, switch open-coded instances
* calling conventions change - ERR_PTR() is returned on ->d_hash() errors;
NULL is just for dcache miss now.
* exported, open-coded instances in ncpfs and cifs converted.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ncpfs')
-rw-r--r-- | fs/ncpfs/dir.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c index 4117e7b377bb..816326093656 100644 --- a/fs/ncpfs/dir.c +++ b/fs/ncpfs/dir.c | |||
@@ -593,14 +593,10 @@ ncp_fill_cache(struct file *filp, void *dirent, filldir_t filldir, | |||
593 | return 1; /* I'm not sure */ | 593 | return 1; /* I'm not sure */ |
594 | 594 | ||
595 | qname.name = __name; | 595 | qname.name = __name; |
596 | qname.hash = full_name_hash(qname.name, qname.len); | ||
597 | |||
598 | if (dentry->d_op && dentry->d_op->d_hash) | ||
599 | if (dentry->d_op->d_hash(dentry, dentry->d_inode, &qname) != 0) | ||
600 | goto end_advance; | ||
601 | |||
602 | newdent = d_lookup(dentry, &qname); | ||
603 | 596 | ||
597 | newdent = d_hash_and_lookup(dentry, &qname); | ||
598 | if (unlikely(IS_ERR(newdent))) | ||
599 | goto end_advance; | ||
604 | if (!newdent) { | 600 | if (!newdent) { |
605 | newdent = d_alloc(dentry, &qname); | 601 | newdent = d_alloc(dentry, &qname); |
606 | if (!newdent) | 602 | if (!newdent) |