X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=extent_io.h;h=17a4a829863587222d677197d5c682ebfc05c28b;hb=8d6c4447823fa73e928e43f3c2f90f1da0ad5a47;hp=ae5ef57bab8dab53162fdff90ef12a7826042ecf;hpb=e1a67a59a9490003f685141c0478be8e6827c736;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/extent_io.h b/extent_io.h index ae5ef57..17a4a82 100644 --- a/extent_io.h +++ b/extent_io.h @@ -75,6 +75,7 @@ struct extent_io_tree { struct cache_tree cache; struct list_head lru; u64 cache_size; + u64 max_cache_size; }; struct extent_state { @@ -106,6 +107,8 @@ static inline void extent_buffer_get(struct extent_buffer *eb) } void extent_io_tree_init(struct extent_io_tree *tree); +void extent_io_tree_init_cache_max(struct extent_io_tree *tree, + u64 max_cache_size); void extent_io_tree_cleanup(struct extent_io_tree *tree); int set_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, int bits); int clear_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, int bits); @@ -114,8 +117,7 @@ int find_first_extent_bit(struct extent_io_tree *tree, u64 start, int test_range_bit(struct extent_io_tree *tree, u64 start, u64 end, int bits, int filled); int set_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end); -int clear_extent_dirty(struct extent_io_tree *tree, u64 start, - u64 end, gfp_t mask); +int clear_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end); static inline int set_extent_buffer_uptodate(struct extent_buffer *eb) { eb->flags |= EXTENT_UPTODATE; @@ -147,6 +149,7 @@ struct extent_buffer *alloc_extent_buffer(struct extent_io_tree *tree, u64 bytenr, u32 blocksize); struct extent_buffer *btrfs_clone_extent_buffer(struct extent_buffer *src); void free_extent_buffer(struct extent_buffer *eb); +void free_extent_buffer_nocache(struct extent_buffer *eb); int read_extent_from_disk(struct extent_buffer *eb, unsigned long offset, unsigned long len); int write_extent_to_disk(struct extent_buffer *eb);