xfs: fix memory reclaim recursion deadlock on locked inode buffer
authorDave Chinner <dchinner@redhat.com>
Tue, 20 Jul 2010 07:53:59 +0000 (17:53 +1000)
committerAlex Elder <aelder@sgi.com>
Mon, 26 Jul 2010 18:16:49 +0000 (13:16 -0500)
commit4a7edddcb5b14ddb5962e6906b6fd6b500d7a361
treee62253cc40f36bfa631f0dd316a16ac987d11dd4
parent438697064aaa2f64e0fcc6586582a3e7ec36005b
xfs: fix memory reclaim recursion deadlock on locked inode buffer

Calling into memory reclaim with a locked inode buffer can deadlock
if memory reclaim tries to lock the inode buffer during inode
teardown. Convert the relevant memory allocations to use KM_NOFS to
avoid this deadlock condition.

Reported-by: Peter Watkins <treestem@gmail.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_inode.c