diff options
| author | Michal Marek <mmarek@suse.cz> | 2010-10-27 18:15:57 -0400 |
|---|---|---|
| committer | Michal Marek <mmarek@suse.cz> | 2010-10-27 18:15:57 -0400 |
| commit | b74b953b998bcc2db91b694446f3a2619ec32de6 (patch) | |
| tree | 6ce24caabd730f6ae9287ed0676ec32e6ff31e9d /fs/btrfs/extent_io.h | |
| parent | abb438526201c6a79949ad45375c051b6681c253 (diff) | |
| parent | f6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff) | |
Merge commit 'v2.6.36' into kbuild/misc
Update to be able to fix a recent change to scripts/basic/docproc.c
(commit eda603f).
Diffstat (limited to 'fs/btrfs/extent_io.h')
| -rw-r--r-- | fs/btrfs/extent_io.h | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 36de250a7b2b..5691c7b590da 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h | |||
| @@ -16,7 +16,9 @@ | |||
| 16 | #define EXTENT_BOUNDARY (1 << 9) | 16 | #define EXTENT_BOUNDARY (1 << 9) |
| 17 | #define EXTENT_NODATASUM (1 << 10) | 17 | #define EXTENT_NODATASUM (1 << 10) |
| 18 | #define EXTENT_DO_ACCOUNTING (1 << 11) | 18 | #define EXTENT_DO_ACCOUNTING (1 << 11) |
| 19 | #define EXTENT_FIRST_DELALLOC (1 << 12) | ||
| 19 | #define EXTENT_IOBITS (EXTENT_LOCKED | EXTENT_WRITEBACK) | 20 | #define EXTENT_IOBITS (EXTENT_LOCKED | EXTENT_WRITEBACK) |
| 21 | #define EXTENT_CTLBITS (EXTENT_DO_ACCOUNTING | EXTENT_FIRST_DELALLOC) | ||
| 20 | 22 | ||
| 21 | /* flags for bio submission */ | 23 | /* flags for bio submission */ |
| 22 | #define EXTENT_BIO_COMPRESSED 1 | 24 | #define EXTENT_BIO_COMPRESSED 1 |
| @@ -47,7 +49,7 @@ struct extent_state; | |||
| 47 | 49 | ||
| 48 | typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw, | 50 | typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw, |
| 49 | struct bio *bio, int mirror_num, | 51 | struct bio *bio, int mirror_num, |
| 50 | unsigned long bio_flags); | 52 | unsigned long bio_flags, u64 bio_offset); |
| 51 | struct extent_io_ops { | 53 | struct extent_io_ops { |
| 52 | int (*fill_delalloc)(struct inode *inode, struct page *locked_page, | 54 | int (*fill_delalloc)(struct inode *inode, struct page *locked_page, |
| 53 | u64 start, u64 end, int *page_started, | 55 | u64 start, u64 end, int *page_started, |
| @@ -69,10 +71,10 @@ struct extent_io_ops { | |||
| 69 | struct extent_state *state); | 71 | struct extent_state *state); |
| 70 | int (*writepage_end_io_hook)(struct page *page, u64 start, u64 end, | 72 | int (*writepage_end_io_hook)(struct page *page, u64 start, u64 end, |
| 71 | struct extent_state *state, int uptodate); | 73 | struct extent_state *state, int uptodate); |
| 72 | int (*set_bit_hook)(struct inode *inode, u64 start, u64 end, | 74 | int (*set_bit_hook)(struct inode *inode, struct extent_state *state, |
| 73 | unsigned long old, unsigned long bits); | 75 | int *bits); |
| 74 | int (*clear_bit_hook)(struct inode *inode, struct extent_state *state, | 76 | int (*clear_bit_hook)(struct inode *inode, struct extent_state *state, |
| 75 | unsigned long bits); | 77 | int *bits); |
| 76 | int (*merge_extent_hook)(struct inode *inode, | 78 | int (*merge_extent_hook)(struct inode *inode, |
| 77 | struct extent_state *new, | 79 | struct extent_state *new, |
| 78 | struct extent_state *other); | 80 | struct extent_state *other); |
| @@ -163,6 +165,8 @@ int lock_extent(struct extent_io_tree *tree, u64 start, u64 end, gfp_t mask); | |||
| 163 | int lock_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, | 165 | int lock_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, |
| 164 | int bits, struct extent_state **cached, gfp_t mask); | 166 | int bits, struct extent_state **cached, gfp_t mask); |
| 165 | int unlock_extent(struct extent_io_tree *tree, u64 start, u64 end, gfp_t mask); | 167 | int unlock_extent(struct extent_io_tree *tree, u64 start, u64 end, gfp_t mask); |
| 168 | int unlock_extent_cached(struct extent_io_tree *tree, u64 start, u64 end, | ||
| 169 | struct extent_state **cached, gfp_t mask); | ||
| 166 | int try_lock_extent(struct extent_io_tree *tree, u64 start, u64 end, | 170 | int try_lock_extent(struct extent_io_tree *tree, u64 start, u64 end, |
| 167 | gfp_t mask); | 171 | gfp_t mask); |
| 168 | int extent_read_full_page(struct extent_io_tree *tree, struct page *page, | 172 | int extent_read_full_page(struct extent_io_tree *tree, struct page *page, |
| @@ -174,6 +178,7 @@ u64 count_range_bits(struct extent_io_tree *tree, | |||
| 174 | u64 *start, u64 search_end, | 178 | u64 *start, u64 search_end, |
| 175 | u64 max_bytes, unsigned long bits); | 179 | u64 max_bytes, unsigned long bits); |
| 176 | 180 | ||
| 181 | void free_extent_state(struct extent_state *state); | ||
| 177 | int test_range_bit(struct extent_io_tree *tree, u64 start, u64 end, | 182 | int test_range_bit(struct extent_io_tree *tree, u64 start, u64 end, |
| 178 | int bits, int filled, struct extent_state *cached_state); | 183 | int bits, int filled, struct extent_state *cached_state); |
| 179 | int clear_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, | 184 | int clear_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, |
| @@ -183,6 +188,9 @@ int clear_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, | |||
| 183 | gfp_t mask); | 188 | gfp_t mask); |
| 184 | int set_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, | 189 | int set_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, |
| 185 | int bits, gfp_t mask); | 190 | int bits, gfp_t mask); |
| 191 | int set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, | ||
| 192 | int bits, int exclusive_bits, u64 *failed_start, | ||
| 193 | struct extent_state **cached_state, gfp_t mask); | ||
| 186 | int set_extent_uptodate(struct extent_io_tree *tree, u64 start, u64 end, | 194 | int set_extent_uptodate(struct extent_io_tree *tree, u64 start, u64 end, |
| 187 | gfp_t mask); | 195 | gfp_t mask); |
| 188 | int set_extent_new(struct extent_io_tree *tree, u64 start, u64 end, | 196 | int set_extent_new(struct extent_io_tree *tree, u64 start, u64 end, |
| @@ -196,7 +204,7 @@ int clear_extent_ordered(struct extent_io_tree *tree, u64 start, u64 end, | |||
| 196 | int clear_extent_ordered_metadata(struct extent_io_tree *tree, u64 start, | 204 | int clear_extent_ordered_metadata(struct extent_io_tree *tree, u64 start, |
| 197 | u64 end, gfp_t mask); | 205 | u64 end, gfp_t mask); |
| 198 | int set_extent_delalloc(struct extent_io_tree *tree, u64 start, u64 end, | 206 | int set_extent_delalloc(struct extent_io_tree *tree, u64 start, u64 end, |
| 199 | gfp_t mask); | 207 | struct extent_state **cached_state, gfp_t mask); |
| 200 | int set_extent_ordered(struct extent_io_tree *tree, u64 start, u64 end, | 208 | int set_extent_ordered(struct extent_io_tree *tree, u64 start, u64 end, |
| 201 | gfp_t mask); | 209 | gfp_t mask); |
| 202 | int find_first_extent_bit(struct extent_io_tree *tree, u64 start, | 210 | int find_first_extent_bit(struct extent_io_tree *tree, u64 start, |
| @@ -281,9 +289,11 @@ int test_extent_buffer_dirty(struct extent_io_tree *tree, | |||
| 281 | int set_extent_buffer_uptodate(struct extent_io_tree *tree, | 289 | int set_extent_buffer_uptodate(struct extent_io_tree *tree, |
| 282 | struct extent_buffer *eb); | 290 | struct extent_buffer *eb); |
| 283 | int clear_extent_buffer_uptodate(struct extent_io_tree *tree, | 291 | int clear_extent_buffer_uptodate(struct extent_io_tree *tree, |
| 284 | struct extent_buffer *eb); | 292 | struct extent_buffer *eb, |
| 293 | struct extent_state **cached_state); | ||
| 285 | int extent_buffer_uptodate(struct extent_io_tree *tree, | 294 | int extent_buffer_uptodate(struct extent_io_tree *tree, |
| 286 | struct extent_buffer *eb); | 295 | struct extent_buffer *eb, |
| 296 | struct extent_state *cached_state); | ||
| 287 | int map_extent_buffer(struct extent_buffer *eb, unsigned long offset, | 297 | int map_extent_buffer(struct extent_buffer *eb, unsigned long offset, |
| 288 | unsigned long min_len, char **token, char **map, | 298 | unsigned long min_len, char **token, char **map, |
| 289 | unsigned long *map_start, | 299 | unsigned long *map_start, |
