aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/btrfs_inode.h
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-01-24 16:13:08 -0500
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:03:59 -0400
commitd1310b2e0cd98eb1348553e69b73827b436dca7b (patch)
treef55e9c380df0f3a7e9fb792b2308b52b632b90aa /fs/btrfs/btrfs_inode.h
parent5f56406aabdf5444d040c5955effc665b1d0dbaf (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.h2
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 */
25struct btrfs_inode { 26struct 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;