Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 3 Apr 2024 13:01:46 +0200 | From | Jan Kara <> | Subject | Re: [PATCH] fs/dcache: Re-use value stored to dentry->d_flags instead of re-reading |
| |
On Wed 03-04-24 10:10:08, linke li wrote: > Currently, the __d_clear_type_and_inode() writes the value flags to > dentry->d_flags, then immediately re-reads it in order to use it in a if > statement. This re-read is useless because no other update to > dentry->d_flags can occur at this point. > > This commit therefore re-use flags in the if statement instead of > re-reading dentry->d_flags. > > Signed-off-by: linke li <lilinke99@qq.com>
Indeed, this seems pointless and actually a bit confusing. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> --- > fs/dcache.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/dcache.c b/fs/dcache.c > index b813528fb147..79da415d7995 100644 > --- a/fs/dcache.c > +++ b/fs/dcache.c > @@ -355,7 +355,7 @@ static inline void __d_clear_type_and_inode(struct dentry *dentry) > flags &= ~DCACHE_ENTRY_TYPE; > WRITE_ONCE(dentry->d_flags, flags); > dentry->d_inode = NULL; > - if (dentry->d_flags & DCACHE_LRU_LIST) > + if (flags & DCACHE_LRU_LIST) > this_cpu_inc(nr_dentry_negative); > } > > -- > 2.39.3 (Apple Git-146) > -- Jan Kara <jack@suse.com> SUSE Labs, CR
| ![\](/images/icornerr.gif) |