| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: next-20090220: XFS, IMA: BUG: sleeping function called from invalid context at mm/slub.c:1613 |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Tue, 24 Feb 2009 14:14:29 -0500 |
| Cc: | xfs@xxxxxxxxxxx |
| In-reply-to: | <20090220122242.b36a778f.akpm@xxxxxxxxxxxxxxxxxxxx> |
| References: | <a4423d670902200300n1d1bfdeeg6daca4b32989c9d3@xxxxxxxxxxxxxx> <20090220122242.b36a778f.akpm@xxxxxxxxxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.18 (2008-05-17) |
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. |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] fix parallel builds, Christoph Hellwig |
|---|---|
| Next by Date: | Re: next-20090220: XFS: inconsistent lock state, Christoph Hellwig |
| Previous by Thread: | Re: next-20090220: XFS, IMA: BUG: sleeping function called from invalid context at mm/slub.c:1613, Mimi Zohar |
| Next by Thread: | Re: next-20090220: XFS, IMA: BUG: sleeping function called from invalid context at mm/slub.c:1613, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |