diff options
author | Chris Mason <chris.mason@oracle.com> | 2007-03-22 12:13:20 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@hera.kernel.org> | 2007-03-22 12:13:20 -0400 |
commit | e20d96d64f9cf9288ffecc9ad4714e91c3b97ca8 (patch) | |
tree | fbe07d48bc7997226075169118ffa2a2e63f5d51 /fs/btrfs/disk-io.h | |
parent | 2e635a278354a1a7951e16cfea4c247d6d0e7c99 (diff) |
Mountable btrfs, with readdir
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/disk-io.h')
-rw-r--r-- | fs/btrfs/disk-io.h | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h index d888cf5c350b..7f4bb729b734 100644 --- a/fs/btrfs/disk-io.h +++ b/fs/btrfs/disk-io.h | |||
@@ -1,36 +1,41 @@ | |||
1 | #ifndef __DISKIO__ | 1 | #ifndef __DISKIO__ |
2 | #define __DISKIO__ | 2 | #define __DISKIO__ |
3 | #include "list.h" | ||
4 | 3 | ||
5 | struct btrfs_buffer { | 4 | #include <linux/buffer_head.h> |
6 | u64 blocknr; | ||
7 | int count; | ||
8 | struct list_head dirty; | ||
9 | struct list_head cache; | ||
10 | union { | ||
11 | struct btrfs_node node; | ||
12 | struct btrfs_leaf leaf; | ||
13 | }; | ||
14 | }; | ||
15 | 5 | ||
16 | struct btrfs_buffer *read_tree_block(struct btrfs_root *root, u64 blocknr); | 6 | #define BTRFS_SUPER_INFO_OFFSET (16 * 1024) |
17 | struct btrfs_buffer *find_tree_block(struct btrfs_root *root, u64 blocknr); | 7 | |
8 | static inline struct btrfs_node *btrfs_buffer_node(struct buffer_head *bh) | ||
9 | { | ||
10 | return (struct btrfs_node *)bh->b_data; | ||
11 | } | ||
12 | |||
13 | static inline struct btrfs_leaf *btrfs_buffer_leaf(struct buffer_head *bh) | ||
14 | { | ||
15 | return (struct btrfs_leaf *)bh->b_data; | ||
16 | } | ||
17 | |||
18 | static inline struct btrfs_header *btrfs_buffer_header(struct buffer_head *bh) | ||
19 | { | ||
20 | return &((struct btrfs_node *)bh->b_data)->header; | ||
21 | } | ||
22 | |||
23 | struct buffer_head *read_tree_block(struct btrfs_root *root, u64 blocknr); | ||
24 | struct buffer_head *find_tree_block(struct btrfs_root *root, u64 blocknr); | ||
18 | int write_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, | 25 | int write_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, |
19 | struct btrfs_buffer *buf); | 26 | struct buffer_head *buf); |
20 | int dirty_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, | 27 | int dirty_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, |
21 | struct btrfs_buffer *buf); | 28 | struct buffer_head *buf); |
22 | int clean_tree_block(struct btrfs_trans_handle *trans, | 29 | int clean_tree_block(struct btrfs_trans_handle *trans, |
23 | struct btrfs_root *root, struct btrfs_buffer *buf); | 30 | struct btrfs_root *root, struct buffer_head *buf); |
24 | int btrfs_commit_transaction(struct btrfs_trans_handle *trans, struct btrfs_root | 31 | int btrfs_commit_transaction(struct btrfs_trans_handle *trans, struct btrfs_root |
25 | *root, struct btrfs_super_block *s); | 32 | *root, struct btrfs_super_block *s); |
26 | struct btrfs_root *open_ctree(char *filename, struct btrfs_super_block *s); | 33 | struct btrfs_root *open_ctree(struct super_block *sb, |
27 | struct btrfs_root *open_ctree_fd(int fp, struct btrfs_super_block *super); | 34 | struct buffer_head *sb_buffer, |
28 | int close_ctree(struct btrfs_root *root, struct btrfs_super_block *s); | 35 | struct btrfs_super_block *disk_super); |
29 | void btrfs_block_release(struct btrfs_root *root, struct btrfs_buffer *buf); | 36 | int close_ctree(struct btrfs_root *root); |
37 | void btrfs_block_release(struct btrfs_root *root, struct buffer_head *buf); | ||
30 | int write_ctree_super(struct btrfs_trans_handle *trans, struct btrfs_root *root, | 38 | int write_ctree_super(struct btrfs_trans_handle *trans, struct btrfs_root *root, |
31 | struct btrfs_super_block *s); | 39 | struct btrfs_super_block *s); |
32 | int mkfs(int fd, u64 num_blocks, u32 blocksize); | 40 | int mkfs(int fd, u64 num_blocks, u32 blocksize); |
33 | |||
34 | #define BTRFS_SUPER_INFO_OFFSET (16 * 1024) | ||
35 | |||
36 | #endif | 41 | #endif |