mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull more ->lookup() cleanups from Al Viro: "Some ->lookup() instances are still overcomplicating the life for themselves, open-coding the stuff that would be handled by d_splice_alias() just fine. Simplify a couple of such cases caught this cycle and document d_splice_alias() intended use" * 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: Document d_splice_alias() calling conventions for ->lookup() users. simplify btrfs_lookup() clean erofs_lookup()
This commit is contained in:
commit
4ba9628fe5
3 changed files with 21 additions and 21 deletions
|
|
@ -622,3 +622,14 @@ in your dentry operations instead.
|
|||
alloc_file_clone(file, flags, ops) does not affect any caller's references.
|
||||
On success you get a new struct file sharing the mount/dentry with the
|
||||
original, on failure - ERR_PTR().
|
||||
--
|
||||
[recommended]
|
||||
->lookup() instances doing an equivalent of
|
||||
if (IS_ERR(inode))
|
||||
return ERR_CAST(inode);
|
||||
return d_splice_alias(inode, dentry);
|
||||
don't need to bother with the check - d_splice_alias() will do the
|
||||
right thing when given ERR_PTR(...) as inode. Moreover, passing NULL
|
||||
inode to d_splice_alias() will also do the right thing (equivalent of
|
||||
d_add(dentry, NULL); return NULL;), so that kind of special cases
|
||||
also doesn't need a separate treatment.
|
||||
|
|
|
|||
Loading…
Reference in a new issue