]> git.karo-electronics.de Git - karo-tx-linux.git/commit
Btrfs: cache extent state when writing out dirty metadata pages
authorJosef Bacik <jbacik@fusionio.com>
Thu, 27 Sep 2012 21:07:30 +0000 (17:07 -0400)
committerChris Mason <chris.mason@fusionio.com>
Mon, 1 Oct 2012 19:35:05 +0000 (15:35 -0400)
commitcd654eec805a36d4bb9aca41a827b75c468fcca6
tree1722d94e22c57ea981e54374c5ce9e01d714e8be
parent611ef04a81b6188a8a516a36f7cf3e8055a79bcb
Btrfs: cache extent state when writing out dirty metadata pages

Everytime we write out dirty pages we search for an offset in the tree,
convert the bits in the state, and then when we wait we search for the
offset again and clear the bits.  So for every dirty range in the io tree we
are doing 4 rb searches, which is suboptimal.  With this patch we are only
doing 2 searches for every cycle (modulo weird things happening).  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/disk-io.c
fs/btrfs/extent-tree.c
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/free-space-cache.c
fs/btrfs/relocation.c
fs/btrfs/transaction.c
fs/btrfs/tree-log.c