diff options
Diffstat (limited to 'fs/btrfs/extent_io.h')
-rw-r--r-- | fs/btrfs/extent_io.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 14ed16fd862d..4794ec891fed 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h | |||
@@ -60,8 +60,13 @@ struct extent_io_ops { | |||
60 | struct extent_state *state, int uptodate); | 60 | struct extent_state *state, int uptodate); |
61 | int (*set_bit_hook)(struct inode *inode, u64 start, u64 end, | 61 | int (*set_bit_hook)(struct inode *inode, u64 start, u64 end, |
62 | unsigned long old, unsigned long bits); | 62 | unsigned long old, unsigned long bits); |
63 | int (*clear_bit_hook)(struct inode *inode, u64 start, u64 end, | 63 | int (*clear_bit_hook)(struct inode *inode, struct extent_state *state, |
64 | unsigned long old, unsigned long bits); | 64 | unsigned long bits); |
65 | int (*merge_extent_hook)(struct inode *inode, | ||
66 | struct extent_state *new, | ||
67 | struct extent_state *other); | ||
68 | int (*split_extent_hook)(struct inode *inode, | ||
69 | struct extent_state *orig, u64 split); | ||
65 | int (*write_cache_pages_lock_hook)(struct page *page); | 70 | int (*write_cache_pages_lock_hook)(struct page *page); |
66 | }; | 71 | }; |
67 | 72 | ||
@@ -79,10 +84,14 @@ struct extent_state { | |||
79 | u64 start; | 84 | u64 start; |
80 | u64 end; /* inclusive */ | 85 | u64 end; /* inclusive */ |
81 | struct rb_node rb_node; | 86 | struct rb_node rb_node; |
87 | |||
88 | /* ADD NEW ELEMENTS AFTER THIS */ | ||
82 | struct extent_io_tree *tree; | 89 | struct extent_io_tree *tree; |
83 | wait_queue_head_t wq; | 90 | wait_queue_head_t wq; |
84 | atomic_t refs; | 91 | atomic_t refs; |
85 | unsigned long state; | 92 | unsigned long state; |
93 | u64 split_start; | ||
94 | u64 split_end; | ||
86 | 95 | ||
87 | /* for use by the FS */ | 96 | /* for use by the FS */ |
88 | u64 private; | 97 | u64 private; |