next-20090220: XFS, IMA: BUG: sleeping function called from invalid context at mm/slub.c:1613
Christoph Hellwig
hch at infradead.org
Tue Feb 24 13:14:29 CST 2009
On Fri, Feb 20, 2009 at 12:22:42PM -0800, Andrew Morton wrote:
> But to fix this bug, xfs needs to stop calling inode_init_always()
> under read_lock(). Because inode_alloc_security() also can sleep (see
> new_inode_smack()).
The normal inode initialization path is fine as it's not in atomic
context, but if we relcaim a partially torn down inode in
xfs_iget_cache_hit we call inode_init_always under pag_ici_lock.
I wonder if we should just give up on trying to "recover" such
inodes. Instead call finish_reclaim on them and restart the inode
cache lookup.
More information about the xfs
mailing list