Lines Matching refs:failrec
7868 struct io_failure_record *failrec, in btrfs_check_dio_repairable() argument
7874 num_copies = btrfs_num_copies(fs_info, failrec->logical, failrec->len); in btrfs_check_dio_repairable()
7883 num_copies, failrec->this_mirror, failed_mirror); in btrfs_check_dio_repairable()
7887 failrec->failed_mirror = failed_mirror; in btrfs_check_dio_repairable()
7888 failrec->this_mirror++; in btrfs_check_dio_repairable()
7889 if (failrec->this_mirror == failed_mirror) in btrfs_check_dio_repairable()
7890 failrec->this_mirror++; in btrfs_check_dio_repairable()
7892 if (failrec->this_mirror > num_copies) { in btrfs_check_dio_repairable()
7895 num_copies, failrec->this_mirror, failed_mirror); in btrfs_check_dio_repairable()
7907 struct io_failure_record *failrec; in dio_read_error() local
7920 ret = btrfs_get_io_failure_record(inode, start, end, &failrec); in dio_read_error()
7924 ret = btrfs_check_dio_repairable(inode, failed_bio, failrec, in dio_read_error()
7927 free_io_failure(failure_tree, io_tree, failrec); in dio_read_error()
7939 bio = btrfs_create_repair_bio(inode, failed_bio, failrec, page, in dio_read_error()
7945 read_mode, failrec->this_mirror, failrec->in_validation); in dio_read_error()
7947 status = submit_dio_repair_bio(inode, bio, failrec->this_mirror); in dio_read_error()
7949 free_io_failure(failure_tree, io_tree, failrec); in dio_read_error()