Josef Bacik 2ac55d41b5 Btrfs: cache the extent state everywhere we possibly can V2
This patch just goes through and fixes everybody that does

lock_extent()
blah
unlock_extent()

to use

lock_extent_bits()
blah
unlock_extent_cached()

and pass around a extent_state so we only have to do the searches once per
function.  This gives me about a 3 mb/s boots on my random write test.  I have
not converted some things, like the relocation and ioctl's, since they aren't
heavily used and the relocation stuff is in the middle of being re-written.  I
also changed the clear_extent_bit() to only unset the cached state if we are
clearing EXTENT_LOCKED and related stuff, so we can do things like this

lock_extent_bits()
clear delalloc bits
unlock_extent_cached()

without losing our cached state.  I tested this thoroughly and turned on
LEAK_DEBUG to make sure we weren't leaking extent states, everything worked out
fine.

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2010-03-15 11:00:13 -04:00
..
2009-10-04 15:05:10 -07:00
2009-09-23 07:39:28 -07:00
2009-09-30 12:19:44 -05:00
2009-09-23 18:13:10 -07:00
2009-10-20 18:02:33 -04:00
2009-09-23 07:39:30 -07:00
2009-09-24 08:41:47 -04:00
2009-09-24 08:41:47 -04:00
2009-09-24 07:21:01 -07:00
2009-09-24 07:21:03 -07:00
2009-09-24 07:47:27 -04:00
2009-10-22 08:11:44 +09:00
2009-10-04 15:05:10 -07:00
2009-09-23 07:39:29 -07:00