Re: [PATCH v2] fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode()

From: Hao Li
Date: Mon Sep 21 2020 - 22:29:53 EST


On Mon, Sep 07, 2020 at 07:40:02AM +1000, Dave Chinner wrote:
> On Fri, Sep 04, 2020 at 03:59:39PM +0800, Hao Li wrote:
> > If generic_drop_inode() returns true, it means iput_final() can evict
> > this inode regardless of whether it is dirty or not. If we check
> > I_DONTCACHE in generic_drop_inode(), any inode with this bit set will be
> > evicted unconditionally. This is not the desired behavior because
> > I_DONTCACHE only means the inode shouldn't be cached on the LRU list.
> > As for whether we need to evict this inode, this is what
> > generic_drop_inode() should do. This patch corrects the usage of
> > I_DONTCACHE.
> >
> > This patch was proposed in [1].
> >
> > [1]: https://lore.kernel.org/linux-fsdevel/20200831003407.GE12096@xxxxxxxxxxxxxxxxxxx/
> >
> > Fixes: dae2f8ed7992 ("fs: Lift XFS_IDONTCACHE to the VFS layer")
> > Signed-off-by: Hao Li <lihao2018.fnst@xxxxxxxxxxxxxx>
> > ---
> > Changes in v2:
> > - Adjust code format
> > - Add Fixes tag in commit message
> >
> > fs/inode.c | 4 +++-
> > include/linux/fs.h | 3 +--
> > 2 files changed, 4 insertions(+), 3 deletions(-)
>
> Looks good.
>
> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
>

Hi,

As discussed in [1], this patch is the basis of another one. Could I
submit the second patch now to change the DCACHE_DONTCACHE behavior or I
have to wait for this patch to be merged.

[1]: https://lkml.org/lkml/2020/8/30/360

Thanks,
Hao Li

> --
> Dave Chinner
> david@xxxxxxxxxxxxx
>
>