Commit c0111c44 authored by Qu Wenruo's avatar Qu Wenruo Committed by David Sterba

btrfs: simplify parameters of submit_read_repair() and rename

Cleanup the function submit_read_repair() by:

- Remove the fixed argument submit_bio_hook()
  The function is only called on buffered data read path, so the
  @submit_bio_hook argument is always btrfs_submit_data_bio().

  Since it's fixed, then there is no need to pass that argument at all.

- Rename the function to submit_data_read_repair()
  Just to be more explicit on all the 3 things, data, read and repair.
Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 8e010b3d
...@@ -2715,12 +2715,13 @@ static void end_page_read(struct page *page, bool uptodate, u64 start, u32 len) ...@@ -2715,12 +2715,13 @@ static void end_page_read(struct page *page, bool uptodate, u64 start, u32 len)
btrfs_subpage_end_reader(fs_info, page, start, len); btrfs_subpage_end_reader(fs_info, page, start, len);
} }
static blk_status_t submit_read_repair(struct inode *inode, static blk_status_t submit_data_read_repair(struct inode *inode,
struct bio *failed_bio, u32 bio_offset, struct bio *failed_bio,
struct page *page, unsigned int pgoff, u32 bio_offset, struct page *page,
u64 start, u64 end, int failed_mirror, unsigned int pgoff,
unsigned int error_bitmap, u64 start, u64 end,
submit_bio_hook_t *submit_bio_hook) int failed_mirror,
unsigned int error_bitmap)
{ {
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
const u32 sectorsize = fs_info->sectorsize; const u32 sectorsize = fs_info->sectorsize;
...@@ -2730,6 +2731,9 @@ static blk_status_t submit_read_repair(struct inode *inode, ...@@ -2730,6 +2731,9 @@ static blk_status_t submit_read_repair(struct inode *inode,
BUG_ON(bio_op(failed_bio) == REQ_OP_WRITE); BUG_ON(bio_op(failed_bio) == REQ_OP_WRITE);
/* This repair is only for data */
ASSERT(is_data_inode(inode));
/* We're here because we had some read errors or csum mismatch */ /* We're here because we had some read errors or csum mismatch */
ASSERT(error_bitmap); ASSERT(error_bitmap);
...@@ -2758,7 +2762,7 @@ static blk_status_t submit_read_repair(struct inode *inode, ...@@ -2758,7 +2762,7 @@ static blk_status_t submit_read_repair(struct inode *inode,
ret = btrfs_repair_one_sector(inode, failed_bio, ret = btrfs_repair_one_sector(inode, failed_bio,
bio_offset + offset, bio_offset + offset,
page, pgoff + offset, start + offset, page, pgoff + offset, start + offset,
failed_mirror, submit_bio_hook); failed_mirror, btrfs_submit_data_bio);
if (!ret) { if (!ret) {
/* /*
* We have submitted the read repair, the page release * We have submitted the read repair, the page release
...@@ -3076,13 +3080,13 @@ static void end_bio_extent_readpage(struct bio *bio) ...@@ -3076,13 +3080,13 @@ static void end_bio_extent_readpage(struct bio *bio)
goto readpage_ok; goto readpage_ok;
/* /*
* btrfs_submit_read_repair() will handle all the good * submit_data_read_repair() will handle all the good
* and bad sectors, we just continue to the next bvec. * and bad sectors, we just continue to the next bvec.
*/ */
submit_read_repair(inode, bio, bio_offset, page, submit_data_read_repair(inode, bio, bio_offset, page,
start - page_offset(page), start, start - page_offset(page),
end, mirror, error_bitmap, start, end, mirror,
btrfs_submit_data_bio); error_bitmap);
ASSERT(bio_offset + len > bio_offset); ASSERT(bio_offset + len > bio_offset);
bio_offset += len; bio_offset += len;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment