diff options
author | Chris Mason <chris.mason@oracle.com> | 2009-09-02 15:22:30 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2009-09-11 13:31:07 -0400 |
commit | 9655d2982b53fdb38a9e0f2f11315b99b92d66e2 (patch) | |
tree | e1271f2f2a3c2c356e0692b36a2d4742b5d651d8 /fs/btrfs/relocation.c | |
parent | d5550c6315fe0647b7ac21a6a736bf4a42620eac (diff) | |
download | linux-9655d2982b53fdb38a9e0f2f11315b99b92d66e2.tar.gz linux-9655d2982b53fdb38a9e0f2f11315b99b92d66e2.tar.bz2 linux-9655d2982b53fdb38a9e0f2f11315b99b92d66e2.zip |
Btrfs: use a cached state for extent state operations during delalloc
This changes the btrfs code to find delalloc ranges in the extent state
tree to use the new state caching code from set/test bit. It reduces
one of the biggest causes of rbtree searches in the writeback path.
test_range_bit is also modified to take the cached state as a starting
point while searching.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/relocation.c')
-rw-r--r-- | fs/btrfs/relocation.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 4adab903fc2b..3be16ccc7eea 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -2180,7 +2180,7 @@ static int tree_block_processed(u64 bytenr, u32 blocksize, struct reloc_control *rc) { if (test_range_bit(&rc->processed_blocks, bytenr, - bytenr + blocksize - 1, EXTENT_DIRTY, 1)) + bytenr + blocksize - 1, EXTENT_DIRTY, 1, NULL)) return 1; return 0; } |