xfs: I/O completion handlers must use NOFS allocations
authorChristoph Hellwig <hch@infradead.org>
Mon, 19 Oct 2009 04:00:03 +0000 (04:00 +0000)
committerAlex Elder <aelder@sgi.com>
Fri, 11 Dec 2009 21:11:20 +0000 (15:11 -0600)
When completing I/O requests we must not allow the memory allocator to
recurse into the filesystem, as we might deadlock on waiting for the
I/O completion otherwise.  The only thing currently allocating normal
GFP_KERNEL memory is the allocation of the transaction structure for
the unwritten extent conversion.  Add a memflags argument to
_xfs_trans_alloc to allow controlling the allocator behaviour.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Thomas Neumann <tneumann@users.sourceforge.net>
Tested-by: Thomas Neumann <tneumann@users.sourceforge.net>
Reviewed-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Alex Elder <aelder@sgi.com>

No differences found