Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
disk-io.c File Reference
#include <linux/fs.h>
#include <linux/blkdev.h>
#include <linux/scatterlist.h>
#include <linux/swap.h>
#include <linux/radix-tree.h>
#include <linux/writeback.h>
#include <linux/buffer_head.h>
#include <linux/workqueue.h>
#include <linux/kthread.h>
#include <linux/freezer.h>
#include <linux/crc32c.h>
#include <linux/slab.h>
#include <linux/migrate.h>
#include <linux/ratelimit.h>
#include <asm/unaligned.h>
#include "compat.h"
#include "ctree.h"
#include "disk-io.h"
#include "transaction.h"
#include "btrfs_inode.h"
#include "volumes.h"
#include "print-tree.h"
#include "async-thread.h"
#include "locking.h"
#include "tree-log.h"
#include "free-space-cache.h"
#include "inode-map.h"
#include "check-integrity.h"
#include "rcu-string.h"

Go to the source code of this file.

Data Structures

struct  end_io_wq
 
struct  async_submit_bio
 

Macros

#define CORRUPT(reason, eb, root, slot)
 

Functions

u32 btrfs_csum_data (struct btrfs_root *root, char *data, u32 seed, size_t len)
 
void btrfs_csum_final (u32 crc, char *result)
 
struct extent_bufferfind_eb_for_page (struct extent_io_tree *tree, struct page *page, int max_walk)
 
int btrfs_bio_wq_end_io (struct btrfs_fs_info *info, struct bio *bio, int metadata)
 
unsigned long btrfs_async_submit_limit (struct btrfs_fs_info *info)
 
int btrfs_wq_submit_bio (struct btrfs_fs_info *fs_info, struct inode *inode, int rw, struct bio *bio, int mirror_num, unsigned long bio_flags, u64 bio_offset, extent_submit_bio_hook_t *submit_bio_start, extent_submit_bio_hook_t *submit_bio_done)
 
int readahead_tree_block (struct btrfs_root *root, u64 bytenr, u32 blocksize, u64 parent_transid)
 
int reada_tree_block_flagged (struct btrfs_root *root, u64 bytenr, u32 blocksize, int mirror_num, struct extent_buffer **eb)
 
struct extent_bufferbtrfs_find_tree_block (struct btrfs_root *root, u64 bytenr, u32 blocksize)
 
struct extent_bufferbtrfs_find_create_tree_block (struct btrfs_root *root, u64 bytenr, u32 blocksize)
 
int btrfs_write_tree_block (struct extent_buffer *buf)
 
int btrfs_wait_tree_block_writeback (struct extent_buffer *buf)
 
struct extent_bufferread_tree_block (struct btrfs_root *root, u64 bytenr, u32 blocksize, u64 parent_transid)
 
void clean_tree_block (struct btrfs_trans_handle *trans, struct btrfs_root *root, struct extent_buffer *buf)
 
struct btrfs_rootbtrfs_create_tree (struct btrfs_trans_handle *trans, struct btrfs_fs_info *fs_info, u64 objectid)
 
int btrfs_init_log_root_tree (struct btrfs_trans_handle *trans, struct btrfs_fs_info *fs_info)
 
int btrfs_add_log_tree (struct btrfs_trans_handle *trans, struct btrfs_root *root)
 
struct btrfs_rootbtrfs_read_fs_root_no_radix (struct btrfs_root *tree_root, struct btrfs_key *location)
 
struct btrfs_rootbtrfs_read_fs_root_no_name (struct btrfs_fs_info *fs_info, struct btrfs_key *location)
 
int open_ctree (struct super_block *sb, struct btrfs_fs_devices *fs_devices, char *options)
 
struct buffer_head * btrfs_read_dev_super (struct block_device *bdev)
 
int btrfs_calc_num_tolerated_disk_barrier_failures (struct btrfs_fs_info *fs_info)
 
int write_all_supers (struct btrfs_root *root, int max_mirrors)
 
int write_ctree_super (struct btrfs_trans_handle *trans, struct btrfs_root *root, int max_mirrors)
 
void btrfs_free_fs_root (struct btrfs_fs_info *fs_info, struct btrfs_root *root)
 
int btrfs_cleanup_fs_roots (struct btrfs_fs_info *fs_info)
 
int btrfs_commit_super (struct btrfs_root *root)
 
int close_ctree (struct btrfs_root *root)
 
int btrfs_buffer_uptodate (struct extent_buffer *buf, u64 parent_transid, int atomic)
 
int btrfs_set_buffer_uptodate (struct extent_buffer *buf)
 
void btrfs_mark_buffer_dirty (struct extent_buffer *buf)
 
void btrfs_btree_balance_dirty (struct btrfs_root *root, unsigned long nr)
 
void __btrfs_btree_balance_dirty (struct btrfs_root *root, unsigned long nr)
 
int btrfs_read_buffer (struct extent_buffer *buf, u64 parent_transid)
 
void btrfs_error_commit_super (struct btrfs_root *root)
 
void btrfs_cleanup_one_transaction (struct btrfs_transaction *cur_trans, struct btrfs_root *root)
 
int btrfs_cleanup_transaction (struct btrfs_root *root)
 

Macro Definition Documentation

#define CORRUPT (   reason,
  eb,
  root,
  slot 
)
Value:
printk(KERN_CRIT "btrfs: corrupt leaf, %s: block=%llu," \
"root=%llu, slot=%d\n", reason, \
(unsigned long long)btrfs_header_bytenr(eb), \
(unsigned long long)root->objectid, slot)

Definition at line 463 of file disk-io.c.

Function Documentation

void __btrfs_btree_balance_dirty ( struct btrfs_root root,
unsigned long  nr 
)

Definition at line 3425 of file disk-io.c.

int btrfs_add_log_tree ( struct btrfs_trans_handle trans,
struct btrfs_root root 
)

Definition at line 1378 of file disk-io.c.

unsigned long btrfs_async_submit_limit ( struct btrfs_fs_info info)

Definition at line 718 of file disk-io.c.

int btrfs_bio_wq_end_io ( struct btrfs_fs_info info,
struct bio *  bio,
int  metadata 
)

Definition at line 698 of file disk-io.c.

void btrfs_btree_balance_dirty ( struct btrfs_root root,
unsigned long  nr 
)

Definition at line 3402 of file disk-io.c.

int btrfs_buffer_uptodate ( struct extent_buffer buf,
u64  parent_transid,
int  atomic 
)

Definition at line 3357 of file disk-io.c.

int btrfs_calc_num_tolerated_disk_barrier_failures ( struct btrfs_fs_info fs_info)

Definition at line 2969 of file disk-io.c.

int btrfs_cleanup_fs_roots ( struct btrfs_fs_info fs_info)

Definition at line 3198 of file disk-io.c.

void btrfs_cleanup_one_transaction ( struct btrfs_transaction cur_trans,
struct btrfs_root root 
)

Definition at line 3736 of file disk-io.c.

int btrfs_cleanup_transaction ( struct btrfs_root root)

Definition at line 3770 of file disk-io.c.

int btrfs_commit_super ( struct btrfs_root root)

Definition at line 3226 of file disk-io.c.

struct btrfs_root* btrfs_create_tree ( struct btrfs_trans_handle trans,
struct btrfs_fs_info fs_info,
u64  objectid 
)
read

Definition at line 1240 of file disk-io.c.

u32 btrfs_csum_data ( struct btrfs_root root,
char data,
u32  seed,
size_t  len 
)

Definition at line 238 of file disk-io.c.

void btrfs_csum_final ( u32  crc,
char result 
)

Definition at line 243 of file disk-io.c.

void btrfs_error_commit_super ( struct btrfs_root root)

Definition at line 3466 of file disk-io.c.

struct extent_buffer* btrfs_find_create_tree_block ( struct btrfs_root root,
u64  bytenr,
u32  blocksize 
)
read

Definition at line 1073 of file disk-io.c.

struct extent_buffer* btrfs_find_tree_block ( struct btrfs_root root,
u64  bytenr,
u32  blocksize 
)
read

Definition at line 1063 of file disk-io.c.

void btrfs_free_fs_root ( struct btrfs_fs_info fs_info,
struct btrfs_root root 
)

Definition at line 3138 of file disk-io.c.

int btrfs_init_log_root_tree ( struct btrfs_trans_handle trans,
struct btrfs_fs_info fs_info 
)

Definition at line 1365 of file disk-io.c.

void btrfs_mark_buffer_dirty ( struct extent_buffer buf)

Definition at line 3379 of file disk-io.c.

int btrfs_read_buffer ( struct extent_buffer buf,
u64  parent_transid 
)

Definition at line 3446 of file disk-io.c.

struct buffer_head* btrfs_read_dev_super ( struct block_device bdev)
read

Definition at line 2724 of file disk-io.c.

struct btrfs_root* btrfs_read_fs_root_no_name ( struct btrfs_fs_info fs_info,
struct btrfs_key location 
)
read

Definition at line 1471 of file disk-io.c.

struct btrfs_root* btrfs_read_fs_root_no_radix ( struct btrfs_root tree_root,
struct btrfs_key location 
)
read

Definition at line 1407 of file disk-io.c.

int btrfs_set_buffer_uptodate ( struct extent_buffer buf)

Definition at line 3374 of file disk-io.c.

int btrfs_wait_tree_block_writeback ( struct extent_buffer buf)

Definition at line 1091 of file disk-io.c.

int btrfs_wq_submit_bio ( struct btrfs_fs_info fs_info,
struct inode inode,
int  rw,
struct bio *  bio,
int  mirror_num,
unsigned long  bio_flags,
u64  bio_offset,
extent_submit_bio_hook_t submit_bio_start,
extent_submit_bio_hook_t submit_bio_done 
)

Definition at line 774 of file disk-io.c.

int btrfs_write_tree_block ( struct extent_buffer buf)

Definition at line 1085 of file disk-io.c.

void clean_tree_block ( struct btrfs_trans_handle trans,
struct btrfs_root root,
struct extent_buffer buf 
)

Definition at line 1112 of file disk-io.c.

int close_ctree ( struct btrfs_root root)

Definition at line 3264 of file disk-io.c.

struct extent_buffer* find_eb_for_page ( struct extent_io_tree tree,
struct page page,
int  max_walk 
)
read

Definition at line 530 of file disk-io.c.

int open_ctree ( struct super_block sb,
struct btrfs_fs_devices fs_devices,
char options 
)

Definition at line 1942 of file disk-io.c.

struct extent_buffer* read_tree_block ( struct btrfs_root root,
u64  bytenr,
u32  blocksize,
u64  parent_transid 
)
read

Definition at line 1097 of file disk-io.c.

int reada_tree_block_flagged ( struct btrfs_root root,
u64  bytenr,
u32  blocksize,
int  mirror_num,
struct extent_buffer **  eb 
)

Definition at line 1031 of file disk-io.c.

int readahead_tree_block ( struct btrfs_root root,
u64  bytenr,
u32  blocksize,
u64  parent_transid 
)

Definition at line 1015 of file disk-io.c.

int write_all_supers ( struct btrfs_root root,
int  max_mirrors 
)

Definition at line 3042 of file disk-io.c.

int write_ctree_super ( struct btrfs_trans_handle trans,
struct btrfs_root root,
int  max_mirrors 
)

Definition at line 3129 of file disk-io.c.