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>
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#define __BTRFS_I__
|
||||
|
||||
#include "extent_map.h"
|
||||
#include "extent_io.h"
|
||||
|
||||
/* in memory btrfs inode */
|
||||
struct btrfs_inode {
|
||||
@@ -27,6 +28,7 @@ struct btrfs_inode {
|
||||
struct btrfs_block_group_cache *block_group;
|
||||
struct btrfs_key location;
|
||||
struct extent_map_tree extent_tree;
|
||||
struct extent_io_tree io_tree;
|
||||
struct inode vfs_inode;
|
||||
|
||||
u64 ordered_trans;
|
||||
|
Reference in New Issue
Block a user