2007-02-02 17:18:22 +03:00
# ifndef __DISKIO__
# define __DISKIO__
2007-03-02 02:59:40 +03:00
# include "list.h"
2007-02-02 17:18:22 +03:00
2007-03-13 17:46:10 +03:00
struct btrfs_buffer {
2007-02-02 17:18:22 +03:00
u64 blocknr ;
int count ;
2007-03-14 21:14:43 +03:00
struct list_head dirty ;
struct list_head cache ;
2007-02-02 17:18:22 +03:00
union {
2007-03-13 17:46:10 +03:00
struct btrfs_node node ;
struct btrfs_leaf leaf ;
2007-02-02 17:18:22 +03:00
} ;
} ;
2007-03-13 17:46:10 +03:00
struct btrfs_buffer * read_tree_block ( struct btrfs_root * root , u64 blocknr ) ;
struct btrfs_buffer * find_tree_block ( struct btrfs_root * root , u64 blocknr ) ;
2007-03-16 23:20:31 +03:00
int write_tree_block ( struct btrfs_trans_handle * trans , struct btrfs_root * root ,
struct btrfs_buffer * buf ) ;
int dirty_tree_block ( struct btrfs_trans_handle * trans , struct btrfs_root * root ,
struct btrfs_buffer * buf ) ;
int clean_tree_block ( struct btrfs_trans_handle * trans ,
struct btrfs_root * root , struct btrfs_buffer * buf ) ;
int btrfs_commit_transaction ( struct btrfs_trans_handle * trans , struct btrfs_root
* root , struct btrfs_super_block * s ) ;
2007-03-13 17:46:10 +03:00
struct btrfs_root * open_ctree ( char * filename , struct btrfs_super_block * s ) ;
int close_ctree ( struct btrfs_root * root , struct btrfs_super_block * s ) ;
void btrfs_block_release ( struct btrfs_root * root , struct btrfs_buffer * buf ) ;
2007-03-16 23:20:31 +03:00
int write_ctree_super ( struct btrfs_trans_handle * trans , struct btrfs_root * root ,
struct btrfs_super_block * s ) ;
2007-03-14 21:14:43 +03:00
int mkfs ( int fd , u64 num_blocks , u32 blocksize ) ;
2007-02-21 00:40:44 +03:00
2007-03-14 21:14:43 +03:00
# define BTRFS_SUPER_INFO_OFFSET (16 * 1024)
2007-02-02 17:18:22 +03:00
# endif