xfs: fix might_sleep() warning when initialising per-ag tree
authorDave Chinner <dchinner@redhat.com>
Thu, 27 May 2010 01:58:13 +0000 (01:58 +0000)
committerAlex Elder <aelder@sgi.com>
Fri, 28 May 2010 20:19:50 +0000 (15:19 -0500)
commit9b98b6f3e1534bba2efcd5b16318945cf2218d99
tree1b793a3632ec68c2f8a2f24f200325f2235dd1b8
parent38e712ab3d28d79725eaade02fe8aba51abac196
xfs: fix might_sleep() warning when initialising per-ag tree

The use of radix_tree_preload() only works if the radix tree was
initialised without the __GFP_WAIT flag. The per-ag tree uses
GFP_NOFS, so does not trigger allocation of new tree nodes from the
preloaded array. Hence it enters the allocator with a spinlock held
and triggers the might_sleep() warnings.

Reported-by; Chris Mason <chris.mason@oracle.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
fs/xfs/xfs_mount.c