Btrfs: use the flusher threads for delalloc throttling
authorChris Mason <chris.mason@oracle.com>
Tue, 26 Oct 2010 17:40:45 +0000 (13:40 -0400)
committerChris Mason <chris.mason@oracle.com>
Fri, 29 Oct 2010 15:25:36 +0000 (11:25 -0400)
commitbf9022e06af553553bc8f4e21ce36147ca6eae68
treee33d9a25fc5ec8e03c1f0d5a4775c865e0520811
parente5bc2458293b2af6c0b94435965c68cc70974b56
Btrfs: use the flusher threads for delalloc throttling

We have a fairly complex set of loops around walking our list of
delalloc inodes when we find metadata delalloc space running low.
It doesn't work very well, can use large amounts of CPU and doesn't
do very efficient writeback.

This switches us to kick the bdi flusher threads instead.  All dirty
data in btrfs is accounted as delalloc data, so this is very similar
in terms of what it writes, but we're able to just kick off the IO
and wait for progress.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/extent-tree.c