]>
git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - fs/btrfs/disk-io.h
4 #include <linux/buffer_head.h>
6 #define BTRFS_SUPER_INFO_OFFSET (16 * 1024)
8 static inline struct btrfs_node
*btrfs_buffer_node(struct buffer_head
*bh
)
10 return (struct btrfs_node
*)bh
->b_data
;
13 static inline struct btrfs_leaf
*btrfs_buffer_leaf(struct buffer_head
*bh
)
15 return (struct btrfs_leaf
*)bh
->b_data
;
18 static inline struct btrfs_header
*btrfs_buffer_header(struct buffer_head
*bh
)
20 return &((struct btrfs_node
*)bh
->b_data
)->header
;
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
);
25 int write_tree_block(struct btrfs_trans_handle
*trans
, struct btrfs_root
*root
,
26 struct buffer_head
*buf
);
27 int dirty_tree_block(struct btrfs_trans_handle
*trans
, struct btrfs_root
*root
,
28 struct buffer_head
*buf
);
29 int clean_tree_block(struct btrfs_trans_handle
*trans
,
30 struct btrfs_root
*root
, struct buffer_head
*buf
);
31 int btrfs_commit_transaction(struct btrfs_trans_handle
*trans
,
32 struct btrfs_root
*root
);
33 struct btrfs_root
*open_ctree(struct super_block
*sb
,
34 struct buffer_head
*sb_buffer
,
35 struct btrfs_super_block
*disk_super
);
36 int close_ctree(struct btrfs_root
*root
);
37 void btrfs_block_release(struct btrfs_root
*root
, struct buffer_head
*buf
);
38 int write_ctree_super(struct btrfs_trans_handle
*trans
,
39 struct btrfs_root
*root
);
40 int mkfs(int fd
, u64 num_blocks
, u32 blocksize
);