Btrfs: pin freed blocks from the FS tree too
[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);
18int write_tree_block(struct btrfs_root *root, struct btrfs_buffer *buf);
19int dirty_tree_block(struct btrfs_root *root, struct btrfs_buffer *buf);
20int clean_tree_block(struct btrfs_root *root, struct btrfs_buffer *buf);
21int btrfs_commit_transaction(struct btrfs_root *root,
22 struct btrfs_super_block *s);
23struct btrfs_root *open_ctree(char *filename, struct btrfs_super_block *s);
24int close_ctree(struct btrfs_root *root, struct btrfs_super_block *s);
25void btrfs_block_release(struct btrfs_root *root, struct btrfs_buffer *buf);
26int write_ctree_super(struct btrfs_root *root, struct btrfs_super_block *s);
123abc88 27int mkfs(int fd, u64 num_blocks, u32 blocksize);
d97e63b6 28
123abc88 29#define BTRFS_SUPER_INFO_OFFSET (16 * 1024)
eb60ceac
CM
30
31#endif