diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-01-24 16:13:08 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:03:59 -0400 |
commit | d1310b2e0cd98eb1348553e69b73827b436dca7b (patch) | |
tree | f55e9c380df0f3a7e9fb792b2308b52b632b90aa /fs/btrfs/btrfs_inode.h | |
parent | 5f56406aabdf5444d040c5955effc665b1d0dbaf (diff) |
Btrfs: Split the extent_map code into two parts
There is now extent_map for mapping offsets in the file to disk and
extent_io for state tracking, IO submission and extent_bufers.
The new extent_map code shifts from [start,end] pairs to [start,len], and
pushes the locking out into the caller. This allows a few performance
optimizations and is easier to use.
A number of extent_map usage bugs were fixed, mostly with failing
to remove extent_map entries when changing the file.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/btrfs_inode.h')
-rw-r--r-- | fs/btrfs/btrfs_inode.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h index 9fc99883c70a..9a0647dc5a0b 100644 --- a/fs/btrfs/btrfs_inode.h +++ b/fs/btrfs/btrfs_inode.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #define __BTRFS_I__ | 20 | #define __BTRFS_I__ |
21 | 21 | ||
22 | #include "extent_map.h" | 22 | #include "extent_map.h" |
23 | #include "extent_io.h" | ||
23 | 24 | ||
24 | /* in memory btrfs inode */ | 25 | /* in memory btrfs inode */ |
25 | struct btrfs_inode { | 26 | struct btrfs_inode { |
@@ -27,6 +28,7 @@ struct btrfs_inode { | |||
27 | struct btrfs_block_group_cache *block_group; | 28 | struct btrfs_block_group_cache *block_group; |
28 | struct btrfs_key location; | 29 | struct btrfs_key location; |
29 | struct extent_map_tree extent_tree; | 30 | struct extent_map_tree extent_tree; |
31 | struct extent_io_tree io_tree; | ||
30 | struct inode vfs_inode; | 32 | struct inode vfs_inode; |
31 | 33 | ||
32 | u64 ordered_trans; | 34 | u64 ordered_trans; |