disk-io.h (2e635a278354a1a7951e16cfea4c247d6d0e7c99) | disk-io.h (e20d96d64f9cf9288ffecc9ad4714e91c3b97ca8) |
---|---|
1#ifndef __DISKIO__ 2#define __DISKIO__ | 1#ifndef __DISKIO__ 2#define __DISKIO__ |
3#include "list.h" | |
4 | 3 |
5struct btrfs_buffer { 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}; | 4#include <linux/buffer_head.h> |
15 | 5 |
16struct btrfs_buffer *read_tree_block(struct btrfs_root *root, u64 blocknr); 17struct btrfs_buffer *find_tree_block(struct btrfs_root *root, u64 blocknr); | 6#define BTRFS_SUPER_INFO_OFFSET (16 * 1024) 7 8static inline struct btrfs_node *btrfs_buffer_node(struct buffer_head *bh) 9{ 10 return (struct btrfs_node *)bh->b_data; 11} 12 13static inline struct btrfs_leaf *btrfs_buffer_leaf(struct buffer_head *bh) 14{ 15 return (struct btrfs_leaf *)bh->b_data; 16} 17 18static inline struct btrfs_header *btrfs_buffer_header(struct buffer_head *bh) 19{ 20 return &((struct btrfs_node *)bh->b_data)->header; 21} 22 23struct buffer_head *read_tree_block(struct btrfs_root *root, u64 blocknr); 24struct buffer_head *find_tree_block(struct btrfs_root *root, u64 blocknr); |
18int write_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, | 25int write_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, |
19 struct btrfs_buffer *buf); | 26 struct buffer_head *buf); |
20int dirty_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, | 27int dirty_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, |
21 struct btrfs_buffer *buf); | 28 struct buffer_head *buf); |
22int clean_tree_block(struct btrfs_trans_handle *trans, | 29int 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); |
24int btrfs_commit_transaction(struct btrfs_trans_handle *trans, struct btrfs_root 25 *root, struct btrfs_super_block *s); | 31int btrfs_commit_transaction(struct btrfs_trans_handle *trans, struct btrfs_root 32 *root, struct btrfs_super_block *s); |
26struct btrfs_root *open_ctree(char *filename, struct btrfs_super_block *s); 27struct btrfs_root *open_ctree_fd(int fp, struct btrfs_super_block *super); 28int close_ctree(struct btrfs_root *root, struct btrfs_super_block *s); 29void btrfs_block_release(struct btrfs_root *root, struct btrfs_buffer *buf); | 33struct btrfs_root *open_ctree(struct super_block *sb, 34 struct buffer_head *sb_buffer, 35 struct btrfs_super_block *disk_super); 36int close_ctree(struct btrfs_root *root); 37void btrfs_block_release(struct btrfs_root *root, struct buffer_head *buf); |
30int write_ctree_super(struct btrfs_trans_handle *trans, struct btrfs_root *root, 31 struct btrfs_super_block *s); 32int mkfs(int fd, u64 num_blocks, u32 blocksize); | 38int write_ctree_super(struct btrfs_trans_handle *trans, struct btrfs_root *root, 39 struct btrfs_super_block *s); 40int mkfs(int fd, u64 num_blocks, u32 blocksize); |
33 34#define BTRFS_SUPER_INFO_OFFSET (16 * 1024) 35 | |
36#endif | 41#endif |