diff options
Diffstat (limited to 'fs/btrfs/extent_io.h')
-rw-r--r-- | fs/btrfs/extent_io.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 489d7945154f..38c1af7092f3 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h | |||
@@ -58,6 +58,7 @@ | |||
58 | #define EXTENT_PAGE_PRIVATE_FIRST_PAGE 3 | 58 | #define EXTENT_PAGE_PRIVATE_FIRST_PAGE 3 |
59 | 59 | ||
60 | struct extent_state; | 60 | struct extent_state; |
61 | struct btrfs_root; | ||
61 | 62 | ||
62 | typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw, | 63 | typedef int (extent_submit_bio_hook_t)(struct inode *inode, int rw, |
63 | struct bio *bio, int mirror_num, | 64 | struct bio *bio, int mirror_num, |
@@ -73,9 +74,7 @@ struct extent_io_ops { | |||
73 | size_t size, struct bio *bio, | 74 | size_t size, struct bio *bio, |
74 | unsigned long bio_flags); | 75 | unsigned long bio_flags); |
75 | int (*readpage_io_hook)(struct page *page, u64 start, u64 end); | 76 | int (*readpage_io_hook)(struct page *page, u64 start, u64 end); |
76 | int (*readpage_io_failed_hook)(struct bio *bio, struct page *page, | 77 | int (*readpage_io_failed_hook)(struct page *page, int failed_mirror); |
77 | u64 start, u64 end, int failed_mirror, | ||
78 | struct extent_state *state); | ||
79 | int (*writepage_io_failed_hook)(struct bio *bio, struct page *page, | 78 | int (*writepage_io_failed_hook)(struct bio *bio, struct page *page, |
80 | u64 start, u64 end, | 79 | u64 start, u64 end, |
81 | struct extent_state *state); | 80 | struct extent_state *state); |
@@ -136,6 +135,7 @@ struct extent_buffer { | |||
136 | spinlock_t refs_lock; | 135 | spinlock_t refs_lock; |
137 | atomic_t refs; | 136 | atomic_t refs; |
138 | atomic_t io_pages; | 137 | atomic_t io_pages; |
138 | int failed_mirror; | ||
139 | struct list_head leak_list; | 139 | struct list_head leak_list; |
140 | struct rcu_head rcu_head; | 140 | struct rcu_head rcu_head; |
141 | pid_t lock_owner; | 141 | pid_t lock_owner; |
@@ -327,4 +327,6 @@ int repair_io_failure(struct btrfs_mapping_tree *map_tree, u64 start, | |||
327 | u64 length, u64 logical, struct page *page, | 327 | u64 length, u64 logical, struct page *page, |
328 | int mirror_num); | 328 | int mirror_num); |
329 | int end_extent_writepage(struct page *page, int err, u64 start, u64 end); | 329 | int end_extent_writepage(struct page *page, int err, u64 start, u64 end); |
330 | int repair_eb_io_failure(struct btrfs_root *root, struct extent_buffer *eb, | ||
331 | int mirror_num); | ||
330 | #endif | 332 | #endif |