Blame view
fs/btrfs/disk-io.h
4.14 KB
6cbd55707
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
/* * Copyright (C) 2007 Oracle. All rights reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License v2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 021110-1307, USA. */ |
eb60ceac0
|
18 19 |
#ifndef __DISKIO__ #define __DISKIO__ |
a512bbf85
|
20 |
#define BTRFS_SUPER_INFO_OFFSET (64 * 1024) |
f29844623
|
21 |
#define BTRFS_SUPER_INFO_SIZE 4096 |
a512bbf85
|
22 23 24 25 26 27 28 29 30 31 32 |
#define BTRFS_SUPER_MIRROR_MAX 3 #define BTRFS_SUPER_MIRROR_SHIFT 12 static inline u64 btrfs_sb_offset(int mirror) { u64 start = 16 * 1024; if (mirror) return start << (BTRFS_SUPER_MIRROR_SHIFT * mirror); return BTRFS_SUPER_INFO_OFFSET; } |
0b86a832a
|
33 |
struct btrfs_device; |
8a4b83cc8
|
34 |
struct btrfs_fs_devices; |
e20d96d64
|
35 |
|
db94535db
|
36 |
struct extent_buffer *read_tree_block(struct btrfs_root *root, u64 bytenr, |
ca7a79ad8
|
37 38 39 |
u32 blocksize, u64 parent_transid); int readahead_tree_block(struct btrfs_root *root, u64 bytenr, u32 blocksize, u64 parent_transid); |
ab0fff030
|
40 41 |
int reada_tree_block_flagged(struct btrfs_root *root, u64 bytenr, u32 blocksize, int mirror_num, struct extent_buffer **eb); |
5f39d397d
|
42 |
struct extent_buffer *btrfs_find_create_tree_block(struct btrfs_root *root, |
db94535db
|
43 |
u64 bytenr, u32 blocksize); |
e089f05c1
|
44 |
int clean_tree_block(struct btrfs_trans_handle *trans, |
5f39d397d
|
45 |
struct btrfs_root *root, struct extent_buffer *buf); |
8a4b83cc8
|
46 |
struct btrfs_root *open_ctree(struct super_block *sb, |
dfe250206
|
47 48 |
struct btrfs_fs_devices *fs_devices, char *options); |
e20d96d64
|
49 |
int close_ctree(struct btrfs_root *root); |
79154b1b5
|
50 |
int write_ctree_super(struct btrfs_trans_handle *trans, |
a512bbf85
|
51 52 |
struct btrfs_root *root, int max_mirrors); struct buffer_head *btrfs_read_dev_super(struct block_device *bdev); |
c146afad2
|
53 |
int btrfs_commit_super(struct btrfs_root *root); |
acce952b0
|
54 |
int btrfs_error_commit_super(struct btrfs_root *root); |
5f39d397d
|
55 |
struct extent_buffer *btrfs_find_tree_block(struct btrfs_root *root, |
db94535db
|
56 |
u64 bytenr, u32 blocksize); |
e02119d5a
|
57 |
struct btrfs_root *btrfs_read_fs_root_no_radix(struct btrfs_root *tree_root, |
5eda7b5e9
|
58 |
struct btrfs_key *location); |
edbd8d4ef
|
59 60 |
struct btrfs_root *btrfs_read_fs_root_no_name(struct btrfs_fs_info *fs_info, struct btrfs_key *location); |
c146afad2
|
61 |
int btrfs_cleanup_fs_roots(struct btrfs_fs_info *fs_info); |
d3c2fdcf7
|
62 |
void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr); |
16cdcec73
|
63 |
void __btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr); |
5eda7b5e9
|
64 |
int btrfs_free_fs_root(struct btrfs_fs_info *fs_info, struct btrfs_root *root); |
5f39d397d
|
65 |
void btrfs_mark_buffer_dirty(struct extent_buffer *buf); |
1259ab75c
|
66 |
int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid); |
5f39d397d
|
67 |
int btrfs_set_buffer_uptodate(struct extent_buffer *buf); |
ca7a79ad8
|
68 |
int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid); |
ff79f8190
|
69 70 |
u32 btrfs_csum_data(struct btrfs_root *root, char *data, u32 seed, size_t len); void btrfs_csum_final(u32 crc, char *result); |
22c599485
|
71 72 |
int btrfs_bio_wq_end_io(struct btrfs_fs_info *info, struct bio *bio, int metadata); |
44b8bd7ed
|
73 74 |
int btrfs_wq_submit_bio(struct btrfs_fs_info *fs_info, struct inode *inode, int rw, struct bio *bio, int mirror_num, |
eaf25d933
|
75 |
unsigned long bio_flags, u64 bio_offset, |
4a69a4100
|
76 77 |
extent_submit_bio_hook_t *submit_bio_start, extent_submit_bio_hook_t *submit_bio_done); |
b64a2851b
|
78 |
unsigned long btrfs_async_submit_limit(struct btrfs_fs_info *info); |
e02119d5a
|
79 80 |
int btrfs_write_tree_block(struct extent_buffer *buf); int btrfs_wait_tree_block_writeback(struct extent_buffer *buf); |
e02119d5a
|
81 82 |
int btrfs_init_log_root_tree(struct btrfs_trans_handle *trans, struct btrfs_fs_info *fs_info); |
7237f1833
|
83 84 |
int btrfs_add_log_tree(struct btrfs_trans_handle *trans, struct btrfs_root *root); |
4008c04a0
|
85 86 |
#ifdef CONFIG_DEBUG_LOCK_ALLOC |
85d4e4611
|
87 88 89 |
void btrfs_init_lockdep(void); void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level); |
4008c04a0
|
90 |
#else |
85d4e4611
|
91 92 93 94 |
static inline void btrfs_init_lockdep(void) { } static inline void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level) |
4008c04a0
|
95 96 97 |
{ } #endif |
eb60ceac0
|
98 |
#endif |