|
@@ -2257,7 +2257,7 @@ int btrfs_get_io_failure_record(struct inode *inode, u64 start, u64 end,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int btrfs_check_repairable(struct inode *inode, struct bio *failed_bio,
|
|
|
+bool btrfs_check_repairable(struct inode *inode, struct bio *failed_bio,
|
|
|
struct io_failure_record *failrec, int failed_mirror)
|
|
|
{
|
|
|
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
|
|
@@ -2273,7 +2273,7 @@ int btrfs_check_repairable(struct inode *inode, struct bio *failed_bio,
|
|
|
btrfs_debug(fs_info,
|
|
|
"Check Repairable: cannot repair, num_copies=%d, next_mirror %d, failed_mirror %d",
|
|
|
num_copies, failrec->this_mirror, failed_mirror);
|
|
|
- return 0;
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -2314,10 +2314,10 @@ int btrfs_check_repairable(struct inode *inode, struct bio *failed_bio,
|
|
|
btrfs_debug(fs_info,
|
|
|
"Check Repairable: (fail) num_copies=%d, next_mirror %d, failed_mirror %d",
|
|
|
num_copies, failrec->this_mirror, failed_mirror);
|
|
|
- return 0;
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
- return 1;
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -2380,8 +2380,8 @@ static int bio_readpage_error(struct bio *failed_bio, u64 phy_offset,
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
- ret = btrfs_check_repairable(inode, failed_bio, failrec, failed_mirror);
|
|
|
- if (!ret) {
|
|
|
+ if (!btrfs_check_repairable(inode, failed_bio, failrec,
|
|
|
+ failed_mirror)) {
|
|
|
free_io_failure(failure_tree, tree, failrec);
|
|
|
return -EIO;
|
|
|
}
|