]> git.baikalelectronics.ru Git - kernel.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>
Tue, 9 Oct 2012 13:15:41 +0000 (09:15 -0400)
commit02d218db25e86141aa7324613f9393853cf162ff
treeffc3fe0a05e0fd7e55b92e3ef8bad42d3c73d68c
parent5068b988dbe25468cd997ce9cbfb365ed35a2434
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