xfs: fix freeing of inodes not yet added to the inode cache
When freeing an inode that lost race getting added to the inode cache we must not call into ->destroy_inode, because that would delete the inode that won the race from the inode cache radix tree. This patch uses splits a new xfs_inode_free helper out of xfs_ireclaim and uses that plus __destroy_inode to make sure we really only free the memory allocted for the inode that lost the race, and not mess with the inode cache state. Signed-off-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NEric Sandeen <sandeen@sandeen.net> Reported-by: NAlex Samad <alex@samad.com.au> Reported-by: NAndrew Randrianasulu <randrik@mail.ru> Reported-by: NStephane <sharnois@max-t.com> Reported-by: NTommy <tommy@news-service.com> Reported-by: NMiah Gregory <mace@darksilence.net> Reported-by: NGabriel Barazer <gabriel@oxeva.fr> Reported-by: NLeandro Lucarella <llucax@gmail.com> Reported-by: NDaniel Burr <dburr@fami.com.au> Reported-by: NNickolay <newmail@spaces.ru> Reported-by: NMichael Guntsche <mike@it-loops.com> Reported-by: NDan Carley <dan.carley+linuxkern-bugs@gmail.com> Reported-by: NMichael Ole Olsen <gnu@gmx.net> Reported-by: NMichael Weissenbacher <mw@dermichi.com> Reported-by: NMartin Spott <Martin.Spott@mgras.net> Reported-by: NChristian Kujau <lists@nerdbynature.de> Tested-by: NMichael Guntsche <mike@it-loops.com> Tested-by: NDan Carley <dan.carley+linuxkern-bugs@gmail.com> Tested-by: NChristian Kujau <lists@nerdbynature.de>
Showing
想要评论请 注册 或 登录