]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: run chunk allocations while we do delayed refs
authorChris Mason <chris.mason@oracle.com>
Fri, 6 Jan 2012 20:23:57 +0000 (15:23 -0500)
committerChris Mason <chris.mason@oracle.com>
Fri, 6 Jan 2012 20:23:57 +0000 (15:23 -0500)
commit3cf2eee1dbfd273f6f25360ed94da3b6e77f1d1a
treef9ce9d7c82360bd6059b5ef16166cf79d16b1380
parentd7ebd063611f78d4d31f0d1a1015bec4eec3e6cd
Btrfs: run chunk allocations while we do delayed refs

Btrfs tries to batch extent allocation tree changes to improve performance
and reduce metadata trashing.  But it doesn't allocate new metadata chunks
while it is doing allocations for the extent allocation tree.

This commit changes the delayed refence code to do chunk allocations if we're
getting low on room.  It prevents crashes and improves performance.

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