RE: [f2fs-dev][PATCH 2/2] f2fs: invalidate xattr node page when evict inode

From: Chao Yu
Date: Sun Aug 03 2014 - 21:43:46 EST


Hi Jaegeuk,

> -----Original Message-----
> From: Jaegeuk Kim [mailto:jaegeuk@xxxxxxxxxx]
> Sent: Saturday, August 02, 2014 10:42 PM
> To: Chao Yu
> Cc: Changman Lee; linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx; linux-fsdevel@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [f2fs-dev][PATCH 2/2] f2fs: invalidate xattr node page when evict inode
>
> Hi Chao,
>
> On Thu, Jul 31, 2014 at 09:13:11PM +0800, Chao Yu wrote:
> > When inode is evicted, all the page cache belong to this inode should be
> > released including the xattr node page. But previously we didn't do this, this
> > patch fixed this issue.
> >
> > Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
> > ---
> > fs/f2fs/inode.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
> > index 0e69aa9..8a5403b 100644
> > --- a/fs/f2fs/inode.c
> > +++ b/fs/f2fs/inode.c
> > @@ -267,10 +267,16 @@ int f2fs_write_inode(struct inode *inode, struct writeback_control *wbc)
> > void f2fs_evict_inode(struct inode *inode)
> > {
> > struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
> > + struct f2fs_inode_info *fi = F2FS_I(inode);
> >
> > trace_f2fs_evict_inode(inode);
> > +
> > truncate_inode_pages_final(&inode->i_data);
> >
> > + if (fi->i_xattr_nid)
> > + invalidate_mapping_pages(NODE_MAPPING(sbi),
> > + fi->i_xattr_nid, fi->i_xattr_nid);
>
> It would be good to place this below with invalidate_mapping_paages(ino).
> Since, in the case of deletion, we need to get the xattr node page again
> on the remove_inode_page call path.

Yes, IMO, it will be OK now when using above implementation because we will
invalidate this xattr page in truncate_node(), but I'd like use your method
because it's better to guarantee invalidating xattr page by evict_inode itself.

I will send a v2 patch, and thanks for your suggestion.

Regards,
Yu

>
> Thanks,
>
> > +
> > if (inode->i_ino == F2FS_NODE_INO(sbi) ||
> > inode->i_ino == F2FS_META_INO(sbi))
> > goto out_clear;
> > --
> > 2.0.1.474.g72c7794

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/