diff options
author | David Sterba <dsterba@suse.com> | 2017-06-22 22:09:57 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2018-01-22 10:08:13 -0500 |
commit | 6af49dbde9532c95f53d2c45fe9cc0012226c5e7 (patch) | |
tree | 59a40f85b727644ef82d07c34e5ff328803283a2 | |
parent | 4ef77695a0f28a42a67a027473d87f5cafa35674 (diff) |
btrfs: sink get_extent parameter to read_extent_buffer_pages
All callers pass btree_get_extent, which needs to be exported.
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | fs/btrfs/disk-io.c | 8 | ||||
-rw-r--r-- | fs/btrfs/disk-io.h | 3 | ||||
-rw-r--r-- | fs/btrfs/extent_io.c | 6 | ||||
-rw-r--r-- | fs/btrfs/extent_io.h | 2 |
4 files changed, 11 insertions, 8 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 06c593775b82..cbf37df05a88 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -220,7 +220,7 @@ void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, | |||
220 | * extents on the btree inode are pretty simple, there's one extent | 220 | * extents on the btree inode are pretty simple, there's one extent |
221 | * that covers the entire device | 221 | * that covers the entire device |
222 | */ | 222 | */ |
223 | static struct extent_map *btree_get_extent(struct btrfs_inode *inode, | 223 | struct extent_map *btree_get_extent(struct btrfs_inode *inode, |
224 | struct page *page, size_t pg_offset, u64 start, u64 len, | 224 | struct page *page, size_t pg_offset, u64 start, u64 len, |
225 | int create) | 225 | int create) |
226 | { | 226 | { |
@@ -455,7 +455,7 @@ static int btree_read_extent_buffer_pages(struct btrfs_fs_info *fs_info, | |||
455 | io_tree = &BTRFS_I(fs_info->btree_inode)->io_tree; | 455 | io_tree = &BTRFS_I(fs_info->btree_inode)->io_tree; |
456 | while (1) { | 456 | while (1) { |
457 | ret = read_extent_buffer_pages(io_tree, eb, WAIT_COMPLETE, | 457 | ret = read_extent_buffer_pages(io_tree, eb, WAIT_COMPLETE, |
458 | btree_get_extent, mirror_num); | 458 | mirror_num); |
459 | if (!ret) { | 459 | if (!ret) { |
460 | if (!verify_parent_transid(io_tree, eb, | 460 | if (!verify_parent_transid(io_tree, eb, |
461 | parent_transid, 0)) | 461 | parent_transid, 0)) |
@@ -1012,7 +1012,7 @@ void readahead_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr) | |||
1012 | if (IS_ERR(buf)) | 1012 | if (IS_ERR(buf)) |
1013 | return; | 1013 | return; |
1014 | read_extent_buffer_pages(&BTRFS_I(btree_inode)->io_tree, | 1014 | read_extent_buffer_pages(&BTRFS_I(btree_inode)->io_tree, |
1015 | buf, WAIT_NONE, btree_get_extent, 0); | 1015 | buf, WAIT_NONE, 0); |
1016 | free_extent_buffer(buf); | 1016 | free_extent_buffer(buf); |
1017 | } | 1017 | } |
1018 | 1018 | ||
@@ -1031,7 +1031,7 @@ int reada_tree_block_flagged(struct btrfs_fs_info *fs_info, u64 bytenr, | |||
1031 | set_bit(EXTENT_BUFFER_READAHEAD, &buf->bflags); | 1031 | set_bit(EXTENT_BUFFER_READAHEAD, &buf->bflags); |
1032 | 1032 | ||
1033 | ret = read_extent_buffer_pages(io_tree, buf, WAIT_PAGE_LOCK, | 1033 | ret = read_extent_buffer_pages(io_tree, buf, WAIT_PAGE_LOCK, |
1034 | btree_get_extent, mirror_num); | 1034 | mirror_num); |
1035 | if (ret) { | 1035 | if (ret) { |
1036 | free_extent_buffer(buf); | 1036 | free_extent_buffer(buf); |
1037 | return ret; | 1037 | return ret; |
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h index 7f7c35d6347a..301151a50ac1 100644 --- a/fs/btrfs/disk-io.h +++ b/fs/btrfs/disk-io.h | |||
@@ -149,6 +149,9 @@ struct btrfs_root *btrfs_create_tree(struct btrfs_trans_handle *trans, | |||
149 | u64 objectid); | 149 | u64 objectid); |
150 | int btree_lock_page_hook(struct page *page, void *data, | 150 | int btree_lock_page_hook(struct page *page, void *data, |
151 | void (*flush_fn)(void *)); | 151 | void (*flush_fn)(void *)); |
152 | struct extent_map *btree_get_extent(struct btrfs_inode *inode, | ||
153 | struct page *page, size_t pg_offset, u64 start, u64 len, | ||
154 | int create); | ||
152 | int btrfs_get_num_tolerated_disk_barrier_failures(u64 flags); | 155 | int btrfs_get_num_tolerated_disk_barrier_failures(u64 flags); |
153 | int __init btrfs_end_io_wq_init(void); | 156 | int __init btrfs_end_io_wq_init(void); |
154 | void btrfs_end_io_wq_exit(void); | 157 | void btrfs_end_io_wq_exit(void); |
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index eda8fe363132..932d805a81e3 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include "locking.h" | 21 | #include "locking.h" |
22 | #include "rcu-string.h" | 22 | #include "rcu-string.h" |
23 | #include "backref.h" | 23 | #include "backref.h" |
24 | #include "disk-io.h" | ||
24 | 25 | ||
25 | static struct kmem_cache *extent_state_cache; | 26 | static struct kmem_cache *extent_state_cache; |
26 | static struct kmem_cache *extent_buffer_cache; | 27 | static struct kmem_cache *extent_buffer_cache; |
@@ -5248,8 +5249,7 @@ int extent_buffer_uptodate(struct extent_buffer *eb) | |||
5248 | } | 5249 | } |
5249 | 5250 | ||
5250 | int read_extent_buffer_pages(struct extent_io_tree *tree, | 5251 | int read_extent_buffer_pages(struct extent_io_tree *tree, |
5251 | struct extent_buffer *eb, int wait, | 5252 | struct extent_buffer *eb, int wait, int mirror_num) |
5252 | get_extent_t *get_extent, int mirror_num) | ||
5253 | { | 5253 | { |
5254 | unsigned long i; | 5254 | unsigned long i; |
5255 | struct page *page; | 5255 | struct page *page; |
@@ -5309,7 +5309,7 @@ int read_extent_buffer_pages(struct extent_io_tree *tree, | |||
5309 | 5309 | ||
5310 | ClearPageError(page); | 5310 | ClearPageError(page); |
5311 | err = __extent_read_full_page(tree, page, | 5311 | err = __extent_read_full_page(tree, page, |
5312 | get_extent, &bio, | 5312 | btree_get_extent, &bio, |
5313 | mirror_num, &bio_flags, | 5313 | mirror_num, &bio_flags, |
5314 | REQ_META); | 5314 | REQ_META); |
5315 | if (err) { | 5315 | if (err) { |
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 6cf4a0e5b0ea..c28f5ef88f42 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h | |||
@@ -435,7 +435,7 @@ void free_extent_buffer_stale(struct extent_buffer *eb); | |||
435 | #define WAIT_PAGE_LOCK 2 | 435 | #define WAIT_PAGE_LOCK 2 |
436 | int read_extent_buffer_pages(struct extent_io_tree *tree, | 436 | int read_extent_buffer_pages(struct extent_io_tree *tree, |
437 | struct extent_buffer *eb, int wait, | 437 | struct extent_buffer *eb, int wait, |
438 | get_extent_t *get_extent, int mirror_num); | 438 | int mirror_num); |
439 | void wait_on_extent_buffer_writeback(struct extent_buffer *eb); | 439 | void wait_on_extent_buffer_writeback(struct extent_buffer *eb); |
440 | 440 | ||
441 | static inline unsigned long num_extent_pages(u64 start, u64 len) | 441 | static inline unsigned long num_extent_pages(u64 start, u64 len) |