struct list_head list;
};
-#define EXTENT_BUFFER_SIZE(nr) (sizeof(struct extent_buffer) + \
- (nr - 1) * sizeof(struct page *))
struct extent_buffer {
u64 start;
unsigned long len;
atomic_t refs;
int flags;
- struct page *pages[];
+ struct list_head list;
+ struct list_head leak_list;
+ struct page *first_page;
+ unsigned long alloc_addr;
};
typedef struct extent_map *(get_extent_t)(struct inode *inode,
void __init extent_map_init(void);
void __exit extent_map_exit(void);
int extent_clean_all_trees(struct extent_map_tree *tree);
+int clear_extent_bits(struct extent_map_tree *tree, u64 start, u64 end,
+ int bits, gfp_t mask);
+int set_extent_bits(struct extent_map_tree *tree, u64 start, u64 end,
+ int bits, gfp_t mask);
int set_extent_uptodate(struct extent_map_tree *tree, u64 start, u64 end,
gfp_t mask);
int set_extent_new(struct extent_map_tree *tree, u64 start, u64 end,