From: NeilBrown <[email protected]> "Best practice" is to use d_splice_alias() at the end of a ->lookup function. d_add() often works and is not incorrect in tracefs, but as it is planned to remove d_add(), change to use d_splice_alias().
Signed-off-by: NeilBrown <[email protected]> --- fs/tracefs/event_inode.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c index 8e5ac464b328..c30567b5331e 100644 --- a/fs/tracefs/event_inode.c +++ b/fs/tracefs/event_inode.c @@ -393,8 +393,7 @@ static struct dentry *lookup_file(struct eventfs_inode *parent_ei, // Files have their parent's ei as their fsdata dentry->d_fsdata = get_ei(parent_ei); - d_add(dentry, inode); - return NULL; + return d_splice_alias(inode, dentry); }; /** @@ -424,8 +423,7 @@ static struct dentry *lookup_dir_entry(struct dentry *dentry, dentry->d_fsdata = get_ei(ei); - d_add(dentry, inode); - return NULL; + return d_splice_alias(inode, dentry); } static inline struct eventfs_inode *init_ei(struct eventfs_inode *ei, const char *name) -- 2.50.0.107.gf914562f5916.dirty
