Linux Kernel
3.7.1
|
#include <linux/rbtree.h>
Go to the source code of this file.
Data Structures | |
struct | extent_io_ops |
struct | extent_io_tree |
struct | extent_state |
struct | extent_buffer |
Typedefs | |
typedef int( | extent_submit_bio_hook_t )(struct inode *inode, int rw, struct bio *bio, int mirror_num, unsigned long bio_flags, u64 bio_offset) |
typedef struct extent_map *( | get_extent_t )(struct inode *inode, struct page *page, size_t pg_offset, u64 start, u64 len, int create) |
#define EXTENT_BIO_COMPRESSED 1 |
Definition at line 29 of file extent_io.h.
#define EXTENT_BIO_FLAG_SHIFT 16 |
Definition at line 31 of file extent_io.h.
#define EXTENT_BIO_TREE_LOG 2 |
Definition at line 30 of file extent_io.h.
#define EXTENT_BOUNDARY (1 << 9) |
Definition at line 16 of file extent_io.h.
#define EXTENT_BUFFER_BLOCKING 1 |
Definition at line 35 of file extent_io.h.
#define EXTENT_BUFFER_CORRUPT 3 |
Definition at line 37 of file extent_io.h.
#define EXTENT_BUFFER_DIRTY 2 |
Definition at line 36 of file extent_io.h.
#define EXTENT_BUFFER_DUMMY 9 |
Definition at line 43 of file extent_io.h.
#define EXTENT_BUFFER_FILLED (1 << 8) |
Definition at line 15 of file extent_io.h.
#define EXTENT_BUFFER_IOERR 8 |
Definition at line 42 of file extent_io.h.
Definition at line 38 of file extent_io.h.
#define EXTENT_BUFFER_STALE 6 |
Definition at line 40 of file extent_io.h.
#define EXTENT_BUFFER_TREE_REF 5 |
Definition at line 39 of file extent_io.h.
#define EXTENT_BUFFER_UPTODATE 0 |
Definition at line 34 of file extent_io.h.
#define EXTENT_BUFFER_WRITEBACK 7 |
Definition at line 41 of file extent_io.h.
#define EXTENT_CLEAR_ACCOUNTING 0x80 |
Definition at line 53 of file extent_io.h.
#define EXTENT_CLEAR_DELALLOC 0x4 |
Definition at line 48 of file extent_io.h.
#define EXTENT_CLEAR_DIRTY 0x8 |
Definition at line 49 of file extent_io.h.
#define EXTENT_CLEAR_UNLOCK 0x2 |
Definition at line 47 of file extent_io.h.
#define EXTENT_CLEAR_UNLOCK_PAGE 0x1 |
Definition at line 46 of file extent_io.h.
#define EXTENT_CTLBITS (EXTENT_DO_ACCOUNTING | EXTENT_FIRST_DELALLOC) |
Definition at line 23 of file extent_io.h.
#define EXTENT_DAMAGED (1 << 14) |
Definition at line 21 of file extent_io.h.
#define EXTENT_DEFRAG (1 << 6) |
Definition at line 13 of file extent_io.h.
#define EXTENT_DEFRAG_DONE (1 << 7) |
Definition at line 14 of file extent_io.h.
#define EXTENT_DELALLOC (1 << 5) |
Definition at line 12 of file extent_io.h.
#define EXTENT_DIRTY 1 |
Definition at line 7 of file extent_io.h.
#define EXTENT_DO_ACCOUNTING (1 << 11) |
Definition at line 18 of file extent_io.h.
#define EXTENT_END_WRITEBACK 0x20 |
Definition at line 51 of file extent_io.h.
#define EXTENT_FIRST_DELALLOC (1 << 12) |
Definition at line 19 of file extent_io.h.
#define EXTENT_IOBITS (EXTENT_LOCKED | EXTENT_WRITEBACK) |
Definition at line 22 of file extent_io.h.
#define EXTENT_LOCKED (1 << 3) |
Definition at line 10 of file extent_io.h.
#define EXTENT_NEED_WAIT (1 << 13) |
Definition at line 20 of file extent_io.h.
#define EXTENT_NEW (1 << 4) |
Definition at line 11 of file extent_io.h.
#define EXTENT_NODATASUM (1 << 10) |
Definition at line 17 of file extent_io.h.
#define EXTENT_PAGE_PRIVATE 1 |
Definition at line 59 of file extent_io.h.
#define EXTENT_PAGE_PRIVATE_FIRST_PAGE 3 |
Definition at line 60 of file extent_io.h.
#define EXTENT_SET_PRIVATE2 0x40 |
Definition at line 52 of file extent_io.h.
#define EXTENT_SET_WRITEBACK 0x10 |
Definition at line 50 of file extent_io.h.
#define EXTENT_UPTODATE (1 << 2) |
Definition at line 9 of file extent_io.h.
#define EXTENT_WRITEBACK (1 << 1) |
Definition at line 8 of file extent_io.h.
#define INLINE_EXTENT_BUFFER_PAGES 16 |
Definition at line 125 of file extent_io.h.
#define MAX_INLINE_EXTENT_BUFFER_SIZE (INLINE_EXTENT_BUFFER_PAGES * PAGE_CACHE_SIZE) |
Definition at line 126 of file extent_io.h.
#define WAIT_COMPLETE 1 |
Definition at line 280 of file extent_io.h.
#define WAIT_NONE 0 |
Definition at line 279 of file extent_io.h.
#define WAIT_PAGE_LOCK 2 |
Definition at line 281 of file extent_io.h.
typedef int( extent_submit_bio_hook_t)(struct inode *inode, int rw, struct bio *bio, int mirror_num, unsigned long bio_flags, u64 bio_offset) |
Definition at line 65 of file extent_io.h.
|
read |
Definition at line 181 of file extent_io.h.
|
read |
Definition at line 4092 of file extent_io.c.
|
read |
Definition at line 4230 of file extent_io.c.
int btree_write_cache_pages | ( | struct address_space * | mapping, |
struct writeback_control * | wbc | ||
) |
Definition at line 3258 of file extent_io.c.
|
read |
Definition at line 2449 of file extent_io.c.
|
read |
Definition at line 4065 of file extent_io.c.
int clear_extent_bit | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
int | bits, | ||
int | wake, | ||
int | delete, | ||
struct extent_state ** | cached, | ||
gfp_t | mask | ||
) |
Definition at line 488 of file extent_io.c.
Definition at line 1155 of file extent_io.c.
void clear_extent_buffer_dirty | ( | struct extent_buffer * | eb | ) |
Definition at line 4447 of file extent_io.c.
int clear_extent_buffer_uptodate | ( | struct extent_buffer * | eb | ) |
Definition at line 4507 of file extent_io.c.
Definition at line 1177 of file extent_io.c.
int clear_extent_uptodate | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
struct extent_state ** | cached_state, | ||
gfp_t | mask | ||
) |
Definition at line 1199 of file extent_io.c.
int convert_extent_bit | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
int | bits, | ||
int | clear_bits, | ||
struct extent_state ** | cached_state, | ||
gfp_t | mask | ||
) |
convert_extent_bit - convert all bits in a given range from one bit to another : the io tree to search : the start offset in bytes : the end offset in bytes (inclusive) : the bits to set in this range : the bits to clear in this range : state that we're going to cache : the allocation mask
This will go through and set bits for the given range. If any states exist already in this range they are set with the given bit and cleared of the clear_bits. This is only meant to be used by things that are mergeable, ie converting from say DELALLOC to DIRTY. This is not meant to be used with boundary bits like LOCK.
Definition at line 955 of file extent_io.c.
void copy_extent_buffer | ( | struct extent_buffer * | dst, |
struct extent_buffer * | src, | ||
unsigned long | dst_offset, | ||
unsigned long | src_offset, | ||
unsigned long | len | ||
) |
Definition at line 4834 of file extent_io.c.
u64 count_range_bits | ( | struct extent_io_tree * | tree, |
u64 * | start, | ||
u64 | search_end, | ||
u64 | max_bytes, | ||
unsigned long | bits, | ||
int | contig | ||
) |
Definition at line 1662 of file extent_io.c.
Definition at line 2257 of file extent_io.c.
int extent_buffer_uptodate | ( | struct extent_buffer * | eb | ) |
Definition at line 4569 of file extent_io.c.
int extent_clear_unlock_delalloc | ( | struct inode * | inode, |
struct extent_io_tree * | tree, | ||
u64 | start, | ||
u64 | end, | ||
struct page * | locked_page, | ||
unsigned long | op | ||
) |
Definition at line 1600 of file extent_io.c.
int extent_fiemap | ( | struct inode * | inode, |
struct fiemap_extent_info * | fieinfo, | ||
__u64 | start, | ||
__u64 | len, | ||
get_extent_t * | get_extent | ||
) |
Definition at line 3828 of file extent_io.c.
int extent_invalidatepage | ( | struct extent_io_tree * | tree, |
struct page * | page, | ||
unsigned long | offset | ||
) |
Definition at line 3681 of file extent_io.c.
Definition at line 86 of file extent_io.c.
Definition at line 66 of file extent_io.c.
void extent_io_tree_init | ( | struct extent_io_tree * | tree, |
struct address_space * | mapping | ||
) |
Definition at line 123 of file extent_io.c.
int extent_range_uptodate | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end | ||
) |
Definition at line 4538 of file extent_io.c.
int extent_read_full_page | ( | struct extent_io_tree * | tree, |
struct page * | page, | ||
get_extent_t * | get_extent, | ||
int | mirror_num | ||
) |
Definition at line 2781 of file extent_io.c.
int extent_readpages | ( | struct extent_io_tree * | tree, |
struct address_space * | mapping, | ||
struct list_head * | pages, | ||
unsigned | nr_pages, | ||
get_extent_t | get_extent | ||
) |
Definition at line 3630 of file extent_io.c.
int extent_write_full_page | ( | struct extent_io_tree * | tree, |
struct page * | page, | ||
get_extent_t * | get_extent, | ||
struct writeback_control * | wbc | ||
) |
Definition at line 3544 of file extent_io.c.
int extent_write_locked_range | ( | struct extent_io_tree * | tree, |
struct inode * | inode, | ||
u64 | start, | ||
u64 | end, | ||
get_extent_t * | get_extent, | ||
int | mode | ||
) |
Definition at line 3564 of file extent_io.c.
int extent_writepages | ( | struct extent_io_tree * | tree, |
struct address_space * | mapping, | ||
get_extent_t * | get_extent, | ||
struct writeback_control * | wbc | ||
) |
Definition at line 3608 of file extent_io.c.
|
read |
Definition at line 4357 of file extent_io.c.
int find_first_extent_bit | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 * | start_ret, | ||
u64 * | end_ret, | ||
int | bits, | ||
struct extent_state ** | cached_state | ||
) |
Definition at line 1320 of file extent_io.c.
|
read |
Definition at line 1286 of file extent_io.c.
void free_extent_buffer | ( | struct extent_buffer * | eb | ) |
Definition at line 4410 of file extent_io.c.
void free_extent_buffer_stale | ( | struct extent_buffer * | eb | ) |
Definition at line 4433 of file extent_io.c.
void free_extent_state | ( | struct extent_state * | state | ) |
Definition at line 159 of file extent_io.c.
int get_state_private | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 * | private | ||
) |
Definition at line 1750 of file extent_io.c.
int lock_extent | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end | ||
) |
Definition at line 1229 of file extent_io.c.
int lock_extent_bits | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
int | bits, | ||
struct extent_state ** | cached | ||
) |
Definition at line 1210 of file extent_io.c.
int map_private_extent_buffer | ( | struct extent_buffer * | eb, |
unsigned long | offset, | ||
unsigned long | min_len, | ||
char ** | map, | ||
unsigned long * | map_start, | ||
unsigned long * | map_len | ||
) |
Definition at line 4699 of file extent_io.c.
int memcmp_extent_buffer | ( | struct extent_buffer * | eb, |
const void * | ptrv, | ||
unsigned long | start, | ||
unsigned long | len | ||
) |
Definition at line 4738 of file extent_io.c.
void memcpy_extent_buffer | ( | struct extent_buffer * | dst, |
unsigned long | dst_offset, | ||
unsigned long | src_offset, | ||
unsigned long | len | ||
) |
Definition at line 4912 of file extent_io.c.
void memmove_extent_buffer | ( | struct extent_buffer * | dst, |
unsigned long | dst_offset, | ||
unsigned long | src_offset, | ||
unsigned long | len | ||
) |
Definition at line 4957 of file extent_io.c.
void memset_extent_buffer | ( | struct extent_buffer * | eb, |
char | c, | ||
unsigned long | start, | ||
unsigned long | len | ||
) |
Definition at line 4805 of file extent_io.c.
void read_extent_buffer | ( | struct extent_buffer * | eb, |
void * | dst, | ||
unsigned long | start, | ||
unsigned long | len | ||
) |
Definition at line 4668 of file extent_io.c.
int read_extent_buffer_pages | ( | struct extent_io_tree * | tree, |
struct extent_buffer * | eb, | ||
u64 | start, | ||
int | wait, | ||
get_extent_t * | get_extent, | ||
int | mirror_num | ||
) |
Definition at line 4574 of file extent_io.c.
int repair_eb_io_failure | ( | struct btrfs_root * | root, |
struct extent_buffer * | eb, | ||
int | mirror_num | ||
) |
Definition at line 1984 of file extent_io.c.
int repair_io_failure | ( | struct btrfs_mapping_tree * | map_tree, |
u64 | start, | ||
u64 | length, | ||
u64 | logical, | ||
struct page * | page, | ||
int | mirror_num | ||
) |
Definition at line 1927 of file extent_io.c.
int set_extent_bit | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
int | bits, | ||
u64 * | failed_start, | ||
struct extent_state ** | cached_state, | ||
gfp_t | mask | ||
) |
Definition at line 929 of file extent_io.c.
Definition at line 1148 of file extent_io.c.
int set_extent_buffer_dirty | ( | struct extent_buffer * | eb | ) |
Definition at line 4477 of file extent_io.c.
int set_extent_buffer_uptodate | ( | struct extent_buffer * | eb | ) |
Definition at line 4523 of file extent_io.c.
int set_extent_defrag | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
struct extent_state ** | cached_state, | ||
gfp_t | mask | ||
) |
Definition at line 1169 of file extent_io.c.
int set_extent_delalloc | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
struct extent_state ** | cached_state, | ||
gfp_t | mask | ||
) |
Definition at line 1161 of file extent_io.c.
Definition at line 1141 of file extent_io.c.
Definition at line 1185 of file extent_io.c.
int set_extent_uptodate | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
struct extent_state ** | cached_state, | ||
gfp_t | mask | ||
) |
Definition at line 1192 of file extent_io.c.
Definition at line 2584 of file extent_io.c.
int set_state_private | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | private | ||
) |
Definition at line 1723 of file extent_io.c.
int test_range_bit | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
int | bits, | ||
int | filled, | ||
struct extent_state * | cached_state | ||
) |
Definition at line 1783 of file extent_io.c.
int try_lock_extent | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end | ||
) |
Definition at line 1234 of file extent_io.c.
Definition at line 5005 of file extent_io.c.
int try_release_extent_mapping | ( | struct extent_map_tree * | map, |
struct extent_io_tree * | tree, | ||
struct page * | page, | ||
gfp_t | mask | ||
) |
Definition at line 3745 of file extent_io.c.
int try_release_extent_state | ( | struct extent_map_tree * | map, |
struct extent_io_tree * | tree, | ||
struct page * | page, | ||
gfp_t | mask | ||
) |
Definition at line 3707 of file extent_io.c.
int unlock_extent | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end | ||
) |
Definition at line 1257 of file extent_io.c.
int unlock_extent_cached | ( | struct extent_io_tree * | tree, |
u64 | start, | ||
u64 | end, | ||
struct extent_state ** | cached, | ||
gfp_t | mask | ||
) |
Definition at line 1250 of file extent_io.c.
Definition at line 650 of file extent_io.c.
void write_extent_buffer | ( | struct extent_buffer * | eb, |
const void * | src, | ||
unsigned long | start, | ||
unsigned long | len | ||
) |
Definition at line 4774 of file extent_io.c.