Re: [f2fs-dev] [PATCH 1/2] f2fs: don't need to invalidate wrong node page

From: Jaegeuk Kim
Date: Wed Mar 08 2017 - 16:36:05 EST


On 03/08, Chao Yu wrote:
> On 2017/3/7 5:51, Jaegeuk Kim wrote:
> > If f2fs_new_inode() is failed, the bad inode will invalidate 0'th node page
> > during f2fs_evict_inode(), which doesn't need to do.
>
> Hmm...should not allow other using of inode->i_ino in following codes of
> f2fs_evict_inode, right?

Right.

>
> Thanks,
>
> >
> > Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
> > ---
> > fs/f2fs/inode.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
> > index 24bb8213d974..ef8610bf950f 100644
> > --- a/fs/f2fs/inode.c
> > +++ b/fs/f2fs/inode.c
> > @@ -411,7 +411,10 @@ void f2fs_evict_inode(struct inode *inode)
> > stat_dec_inline_dir(inode);
> > stat_dec_inline_inode(inode);
> >
> > - invalidate_mapping_pages(NODE_MAPPING(sbi), inode->i_ino, inode->i_ino);
> > + /* ino == 0, if f2fs_new_inode() was failed t*/
> > + if (inode->i_ino)
> > + invalidate_mapping_pages(NODE_MAPPING(sbi), inode->i_ino,
> > + inode->i_ino);
> > if (xnid)
> > invalidate_mapping_pages(NODE_MAPPING(sbi), xnid, xnid);
> > if (inode->i_nlink) {
> >