Btrfs: initial move to kernel module land
[linux-2.6-block.git] / fs / btrfs / disk-io.h
CommitLineData
eb60ceac
CM
1#ifndef __DISKIO__
2#define __DISKIO__
ed2ff2cb 3#include "list.h"
eb60ceac 4
234b63a0 5struct btrfs_buffer {
eb60ceac
CM
6 u64 blocknr;
7 int count;
123abc88
CM
8 struct list_head dirty;
9 struct list_head cache;
eb60ceac 10 union {
234b63a0
CM
11 struct btrfs_node node;
12 struct btrfs_leaf leaf;
eb60ceac
CM
13 };
14};
15
234b63a0
CM
16struct btrfs_buffer *read_tree_block(struct btrfs_root *root, u64 blocknr);
17struct btrfs_buffer *find_tree_block(struct btrfs_root *root, u64 blocknr);
e089f05c
CM
18int write_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root,
19 struct btrfs_buffer *buf);
20int dirty_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root,
21 struct btrfs_buffer *buf);
22int clean_tree_block(struct btrfs_trans_handle *trans,
23 struct btrfs_root *root, struct btrfs_buffer *buf);
24int btrfs_commit_transaction(struct btrfs_trans_handle *trans, struct btrfs_root
25 *root, struct btrfs_super_block *s);
234b63a0 26struct btrfs_root *open_ctree(char *filename, struct btrfs_super_block *s);
2e635a27 27struct btrfs_root *open_ctree_fd(int fp, struct btrfs_super_block *super);
234b63a0
CM
28int close_ctree(struct btrfs_root *root, struct btrfs_super_block *s);
29void btrfs_block_release(struct btrfs_root *root, struct btrfs_buffer *buf);
e089f05c
CM
30int write_ctree_super(struct btrfs_trans_handle *trans, struct btrfs_root *root,
31 struct btrfs_super_block *s);
123abc88 32int mkfs(int fd, u64 num_blocks, u32 blocksize);
d97e63b6 33
123abc88 34#define BTRFS_SUPER_INFO_OFFSET (16 * 1024)
eb60ceac
CM
35
36#endif