• Home
  • Raw
  • Download

Lines Matching refs:log

57 #define	xlog_recover_check_summary(log)  argument
65 #define XLOG_SECTOR_ROUNDUP_BBCOUNT(log, bbs) \ argument
66 ( ((log)->l_sectbb_mask && (bbs & (log)->l_sectbb_mask)) ? \
67 ((bbs + (log)->l_sectbb_mask + 1) & ~(log)->l_sectbb_mask) : (bbs) )
68 #define XLOG_SECTOR_ROUNDDOWN_BLKNO(log, bno) ((bno) & ~(log)->l_sectbb_mask) argument
72 xlog_t *log, in xlog_get_bp() argument
75 if (nbblks <= 0 || nbblks > log->l_logBBsize) { in xlog_get_bp()
78 XFS_ERRLEVEL_HIGH, log->l_mp); in xlog_get_bp()
82 if (log->l_sectbb_log) { in xlog_get_bp()
84 nbblks += XLOG_SECTOR_ROUNDUP_BBCOUNT(log, 1); in xlog_get_bp()
85 nbblks = XLOG_SECTOR_ROUNDUP_BBCOUNT(log, nbblks); in xlog_get_bp()
87 return xfs_buf_get_noaddr(BBTOB(nbblks), log->l_mp->m_logdev_targp); in xlog_get_bp()
103 xlog_t *log, in xlog_bread() argument
110 if (nbblks <= 0 || nbblks > log->l_logBBsize) { in xlog_bread()
113 XFS_ERRLEVEL_HIGH, log->l_mp); in xlog_bread()
117 if (log->l_sectbb_log) { in xlog_bread()
118 blk_no = XLOG_SECTOR_ROUNDDOWN_BLKNO(log, blk_no); in xlog_bread()
119 nbblks = XLOG_SECTOR_ROUNDUP_BBCOUNT(log, nbblks); in xlog_bread()
126 XFS_BUF_SET_ADDR(bp, log->l_logBBstart + blk_no); in xlog_bread()
130 XFS_BUF_SET_TARGET(bp, log->l_mp->m_logdev_targp); in xlog_bread()
132 xfsbdstrat(log->l_mp, bp); in xlog_bread()
135 xfs_ioerror_alert("xlog_bread", log->l_mp, in xlog_bread()
147 xlog_t *log, in xlog_bwrite() argument
154 if (nbblks <= 0 || nbblks > log->l_logBBsize) { in xlog_bwrite()
157 XFS_ERRLEVEL_HIGH, log->l_mp); in xlog_bwrite()
161 if (log->l_sectbb_log) { in xlog_bwrite()
162 blk_no = XLOG_SECTOR_ROUNDDOWN_BLKNO(log, blk_no); in xlog_bwrite()
163 nbblks = XLOG_SECTOR_ROUNDUP_BBCOUNT(log, nbblks); in xlog_bwrite()
169 XFS_BUF_SET_ADDR(bp, log->l_logBBstart + blk_no); in xlog_bwrite()
175 XFS_BUF_SET_TARGET(bp, log->l_mp->m_logdev_targp); in xlog_bwrite()
177 if ((error = xfs_bwrite(log->l_mp, bp))) in xlog_bwrite()
178 xfs_ioerror_alert("xlog_bwrite", log->l_mp, in xlog_bwrite()
185 xlog_t *log, in xlog_align() argument
192 if (!log->l_sectbb_log) in xlog_align()
195 ptr = XFS_BUF_PTR(bp) + BBTOB((int)blk_no & log->l_sectbb_mask); in xlog_align()
197 BBTOB(nbblks + (blk_no & log->l_sectbb_mask))); in xlog_align()
311 xlog_t *log, in xlog_find_cycle_start() argument
324 if ((error = xlog_bread(log, mid_blk, 1, bp))) in xlog_find_cycle_start()
326 offset = xlog_align(log, mid_blk, 1, bp); in xlog_find_cycle_start()
355 xlog_t *log, in xlog_find_verify_cycle() argument
370 while (!(bp = xlog_get_bp(log, bufblks))) { in xlog_find_verify_cycle()
373 if (bufblks <= log->l_sectbb_log) in xlog_find_verify_cycle()
382 if ((error = xlog_bread(log, i, bcount, bp))) in xlog_find_verify_cycle()
385 buf = xlog_align(log, i, bcount, bp); in xlog_find_verify_cycle()
418 xlog_t *log, in xlog_find_verify_log_record() argument
434 if (!(bp = xlog_get_bp(log, num_blks))) { in xlog_find_verify_log_record()
435 if (!(bp = xlog_get_bp(log, 1))) in xlog_find_verify_log_record()
439 if ((error = xlog_bread(log, start_blk, num_blks, bp))) in xlog_find_verify_log_record()
441 offset = xlog_align(log, start_blk, num_blks, bp); in xlog_find_verify_log_record()
456 if ((error = xlog_bread(log, i, 1, bp))) in xlog_find_verify_log_record()
458 offset = xlog_align(log, i, 1, bp); in xlog_find_verify_log_record()
484 if ((error = xlog_header_check_mount(log->l_mp, head))) in xlog_find_verify_log_record()
494 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) { in xlog_find_verify_log_record()
528 xlog_t *log, in xlog_find_head() argument
537 int error, log_bbnum = log->l_logBBsize; in xlog_find_head()
540 if ((error = xlog_find_zeroed(log, &first_blk)) == -1) { in xlog_find_head()
559 bp = xlog_get_bp(log, 1); in xlog_find_head()
562 if ((error = xlog_bread(log, 0, 1, bp))) in xlog_find_head()
564 offset = xlog_align(log, 0, 1, bp); in xlog_find_head()
568 if ((error = xlog_bread(log, last_blk, 1, bp))) in xlog_find_head()
570 offset = xlog_align(log, last_blk, 1, bp); in xlog_find_head()
635 if ((error = xlog_find_cycle_start(log, bp, first_blk, in xlog_find_head()
647 num_scan_bblks = XLOG_TOTAL_REC_SHIFT(log); in xlog_find_head()
654 if ((error = xlog_find_verify_cycle(log, in xlog_find_head()
691 if ((error = xlog_find_verify_cycle(log, start_blk, in xlog_find_head()
707 if ((error = xlog_find_verify_cycle(log, in xlog_find_head()
720 num_scan_bblks = XLOG_REC_SHIFT(log); in xlog_find_head()
725 if ((error = xlog_find_verify_log_record(log, start_blk, in xlog_find_head()
734 if ((error = xlog_find_verify_log_record(log, start_blk, in xlog_find_head()
742 if ((error = xlog_find_verify_log_record(log, in xlog_find_head()
794 xlog_t *log, in xlog_find_tail() argument
813 if ((error = xlog_find_head(log, head_blk))) in xlog_find_tail()
816 bp = xlog_get_bp(log, 1); in xlog_find_tail()
820 if ((error = xlog_bread(log, 0, 1, bp))) in xlog_find_tail()
822 offset = xlog_align(log, 0, 1, bp); in xlog_find_tail()
835 if ((error = xlog_bread(log, i, 1, bp))) in xlog_find_tail()
837 offset = xlog_align(log, i, 1, bp); in xlog_find_tail()
850 for (i = log->l_logBBsize - 1; i >= (int)(*head_blk); i--) { in xlog_find_tail()
851 if ((error = xlog_bread(log, i, 1, bp))) in xlog_find_tail()
853 offset = xlog_align(log, i, 1, bp); in xlog_find_tail()
881 log->l_prev_block = i; in xlog_find_tail()
882 log->l_curr_block = (int)*head_blk; in xlog_find_tail()
883 log->l_curr_cycle = be32_to_cpu(rhead->h_cycle); in xlog_find_tail()
885 log->l_curr_cycle++; in xlog_find_tail()
886 log->l_tail_lsn = be64_to_cpu(rhead->h_tail_lsn); in xlog_find_tail()
887 log->l_last_sync_lsn = be64_to_cpu(rhead->h_lsn); in xlog_find_tail()
888 log->l_grant_reserve_cycle = log->l_curr_cycle; in xlog_find_tail()
889 log->l_grant_reserve_bytes = BBTOB(log->l_curr_block); in xlog_find_tail()
890 log->l_grant_write_cycle = log->l_curr_cycle; in xlog_find_tail()
891 log->l_grant_write_bytes = BBTOB(log->l_curr_block); in xlog_find_tail()
904 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) { in xlog_find_tail()
920 BTOBB(be32_to_cpu(rhead->h_len))) % log->l_logBBsize; in xlog_find_tail()
921 tail_lsn = log->l_tail_lsn; in xlog_find_tail()
924 umount_data_blk = (i + hblks) % log->l_logBBsize; in xlog_find_tail()
925 if ((error = xlog_bread(log, umount_data_blk, 1, bp))) { in xlog_find_tail()
928 offset = xlog_align(log, umount_data_blk, 1, bp); in xlog_find_tail()
936 log->l_tail_lsn = in xlog_find_tail()
937 xlog_assign_lsn(log->l_curr_cycle, in xlog_find_tail()
939 log->l_last_sync_lsn = in xlog_find_tail()
940 xlog_assign_lsn(log->l_curr_cycle, in xlog_find_tail()
950 log->l_mp->m_flags |= XFS_MOUNT_WAS_CLEAN; in xlog_find_tail()
973 if (!xfs_readonly_buftarg(log->l_mp->m_logdev_targp)) { in xlog_find_tail()
974 error = xlog_clear_stale_blocks(log, tail_lsn); in xlog_find_tail()
1004 xlog_t *log, in xlog_find_zeroed() argument
1012 int error, log_bbnum = log->l_logBBsize; in xlog_find_zeroed()
1017 bp = xlog_get_bp(log, 1); in xlog_find_zeroed()
1020 if ((error = xlog_bread(log, 0, 1, bp))) in xlog_find_zeroed()
1022 offset = xlog_align(log, 0, 1, bp); in xlog_find_zeroed()
1031 if ((error = xlog_bread(log, log_bbnum-1, 1, bp))) in xlog_find_zeroed()
1033 offset = xlog_align(log, log_bbnum-1, 1, bp); in xlog_find_zeroed()
1050 if ((error = xlog_find_cycle_start(log, bp, 0, &last_blk, 0))) in xlog_find_zeroed()
1059 num_scan_bblks = XLOG_TOTAL_REC_SHIFT(log); in xlog_find_zeroed()
1072 if ((error = xlog_find_verify_cycle(log, start_blk, in xlog_find_zeroed()
1082 if ((error = xlog_find_verify_log_record(log, start_blk, in xlog_find_zeroed()
1104 xlog_t *log, in xlog_add_record() argument
1117 xfs_sb_version_haslogv2(&log->l_mp->m_sb) ? 2 : 1); in xlog_add_record()
1121 memcpy(&recp->h_fs_uuid, &log->l_mp->m_sb.sb_uuid, sizeof(uuid_t)); in xlog_add_record()
1126 xlog_t *log, in xlog_write_log_records() argument
1136 int sectbb = XLOG_SECTOR_ROUNDUP_BBCOUNT(log, 1); in xlog_write_log_records()
1143 while (!(bp = xlog_get_bp(log, bufblks))) { in xlog_write_log_records()
1145 if (bufblks <= log->l_sectbb_log) in xlog_write_log_records()
1153 balign = XLOG_SECTOR_ROUNDDOWN_BLKNO(log, start_block); in xlog_write_log_records()
1155 if ((error = xlog_bread(log, start_block, 1, bp))) { in xlog_write_log_records()
1172 ealign = XLOG_SECTOR_ROUNDDOWN_BLKNO(log, end_block); in xlog_write_log_records()
1179 error = xlog_bread(log, ealign, sectbb, bp); in xlog_write_log_records()
1186 offset = xlog_align(log, start_block, endcount, bp); in xlog_write_log_records()
1188 xlog_add_record(log, offset, cycle, i+j, in xlog_write_log_records()
1192 error = xlog_bwrite(log, start_block, endcount, bp); in xlog_write_log_records()
1220 xlog_t *log, in xlog_clear_stale_blocks() argument
1231 head_cycle = log->l_curr_cycle; in xlog_clear_stale_blocks()
1232 head_block = log->l_curr_block; in xlog_clear_stale_blocks()
1248 if (unlikely(head_block < tail_block || head_block >= log->l_logBBsize)) { in xlog_clear_stale_blocks()
1250 XFS_ERRLEVEL_LOW, log->l_mp); in xlog_clear_stale_blocks()
1253 tail_distance = tail_block + (log->l_logBBsize - head_block); in xlog_clear_stale_blocks()
1262 XFS_ERRLEVEL_LOW, log->l_mp); in xlog_clear_stale_blocks()
1277 max_distance = XLOG_TOTAL_REC_SHIFT(log); in xlog_clear_stale_blocks()
1287 if ((head_block + max_distance) <= log->l_logBBsize) { in xlog_clear_stale_blocks()
1295 error = xlog_write_log_records(log, (head_cycle - 1), in xlog_clear_stale_blocks()
1308 distance = log->l_logBBsize - head_block; in xlog_clear_stale_blocks()
1309 error = xlog_write_log_records(log, (head_cycle - 1), in xlog_clear_stale_blocks()
1324 distance = max_distance - (log->l_logBBsize - head_block); in xlog_clear_stale_blocks()
1325 error = xlog_write_log_records(log, head_cycle, 0, distance, in xlog_clear_stale_blocks()
1604 xlog_t *log, in xlog_recover_do_buffer_pass1() argument
1634 bucket = &log->l_buf_cancel_table[(__uint64_t)blkno % in xlog_recover_do_buffer_pass1()
1691 xlog_t *log, in xlog_check_buffer_cancelled() argument
1700 if (log->l_buf_cancel_table == NULL) { in xlog_check_buffer_cancelled()
1709 bucket = &log->l_buf_cancel_table[(__uint64_t)blkno % in xlog_check_buffer_cancelled()
1762 xlog_t *log, in xlog_recover_do_buffer_pass2() argument
1777 return xlog_check_buffer_cancelled(log, blkno, len, flags); in xlog_recover_do_buffer_pass2()
2096 xlog_t *log, in xlog_recover_do_dquot_buffer() argument
2120 if (log->l_quotaoffs_flag & type) in xlog_recover_do_dquot_buffer()
2151 xlog_t *log, in xlog_recover_do_buffer_trans() argument
2171 xlog_recover_do_buffer_pass1(log, buf_f); in xlog_recover_do_buffer_trans()
2181 cancel = xlog_recover_do_buffer_pass2(log, buf_f); in xlog_recover_do_buffer_trans()
2193 xfs_fs_cmn_err(CE_ALERT, log->l_mp, in xlog_recover_do_buffer_trans()
2195 buf_f->blf_type, log->l_mp->m_logname ? in xlog_recover_do_buffer_trans()
2196 log->l_mp->m_logname : "internal"); in xlog_recover_do_buffer_trans()
2198 XFS_ERRLEVEL_LOW, log->l_mp); in xlog_recover_do_buffer_trans()
2202 mp = log->l_mp; in xlog_recover_do_buffer_trans()
2210 xfs_ioerror_alert("xlog_recover_do..(read#1)", log->l_mp, in xlog_recover_do_buffer_trans()
2222 xlog_recover_do_dquot_buffer(mp, log, item, bp, buf_f); in xlog_recover_do_buffer_trans()
2246 (XFS_BUF_COUNT(bp) != MAX(log->l_mp->m_sb.sb_blocksize, in xlog_recover_do_buffer_trans()
2247 (__uint32_t)XFS_INODE_CLUSTER_SIZE(log->l_mp)))) { in xlog_recover_do_buffer_trans()
2262 xlog_t *log, in xlog_recover_do_inode_trans() argument
2295 mp = log->l_mp; in xlog_recover_do_inode_trans()
2301 if (xlog_check_buffer_cancelled(log, in_f->ilf_blkno, in xlog_recover_do_inode_trans()
2537 xlog_t *log, in xlog_recover_do_quotaoff_trans() argument
2555 log->l_quotaoffs_flag |= XFS_DQ_USER; in xlog_recover_do_quotaoff_trans()
2557 log->l_quotaoffs_flag |= XFS_DQ_PROJ; in xlog_recover_do_quotaoff_trans()
2559 log->l_quotaoffs_flag |= XFS_DQ_GROUP; in xlog_recover_do_quotaoff_trans()
2569 xlog_t *log, in xlog_recover_do_dquot_trans() argument
2583 mp = log->l_mp; in xlog_recover_do_dquot_trans()
2598 if (log->l_quotaoffs_flag & type) in xlog_recover_do_dquot_trans()
2664 xlog_t *log, in xlog_recover_do_efi_trans() argument
2680 mp = log->l_mp; in xlog_recover_do_efi_trans()
2690 spin_lock(&log->l_ailp->xa_lock); in xlog_recover_do_efi_trans()
2694 xfs_trans_ail_update(log->l_ailp, (xfs_log_item_t *)efip, lsn); in xlog_recover_do_efi_trans()
2709 xlog_t *log, in xlog_recover_do_efd_trans() argument
2718 struct xfs_ail *ailp = log->l_ailp; in xlog_recover_do_efd_trans()
2765 xlog_t *log, in xlog_recover_do_trans() argument
2786 if ((error = xlog_recover_do_buffer_trans(log, item, in xlog_recover_do_trans()
2790 if ((error = xlog_recover_do_inode_trans(log, item, in xlog_recover_do_trans()
2794 if ((error = xlog_recover_do_efi_trans(log, item, trans->r_lsn, in xlog_recover_do_trans()
2798 xlog_recover_do_efd_trans(log, item, pass); in xlog_recover_do_trans()
2800 if ((error = xlog_recover_do_dquot_trans(log, item, in xlog_recover_do_trans()
2804 if ((error = xlog_recover_do_quotaoff_trans(log, item, in xlog_recover_do_trans()
2849 xlog_t *log, in xlog_recover_commit_trans() argument
2858 if ((error = xlog_recover_do_trans(log, trans, pass))) in xlog_recover_commit_trans()
2884 xlog_t *log, in xlog_recover_process_data() argument
2903 if (xlog_header_check_recover(log->l_mp, rhead)) in xlog_recover_process_data()
2936 error = xlog_recover_commit_trans(log, in xlog_recover_process_data()
3057 xlog_t *log) in xlog_recover_process_efis() argument
3065 ailp = log->l_ailp; in xlog_recover_process_efis()
3091 error = xlog_recover_process_efi(log->l_mp, efip); in xlog_recover_process_efis()
3219 xlog_t *log) in xlog_recover_process_iunlinks() argument
3230 mp = log->l_mp; in xlog_recover_process_iunlinks()
3292 xlog_t *log, in xlog_pack_data_checksum() argument
3309 #define xlog_pack_data_checksum(log, iclog, size) argument
3317 xlog_t *log, in xlog_pack_data() argument
3326 xlog_pack_data_checksum(log, iclog, size); in xlog_pack_data()
3338 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) { in xlog_pack_data()
3349 for (i = 1; i < log->l_iclog_heads; i++) { in xlog_pack_data()
3360 xlog_t *log) in xlog_unpack_data_checksum() argument
3373 ((log->l_flags & XLOG_CHKSUM_MISMATCH) == 0)) { in xlog_unpack_data_checksum()
3379 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) { in xlog_unpack_data_checksum()
3383 log->l_flags |= XLOG_CHKSUM_MISMATCH; in xlog_unpack_data_checksum()
3388 #define xlog_unpack_data_checksum(rhead, dp, log) argument
3395 xlog_t *log) in xlog_unpack_data() argument
3405 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) { in xlog_unpack_data()
3415 xlog_unpack_data_checksum(rhead, dp, log); in xlog_unpack_data()
3420 xlog_t *log, in xlog_valid_rec_header() argument
3428 XFS_ERRLEVEL_LOW, log->l_mp); in xlog_valid_rec_header()
3443 XFS_ERRLEVEL_LOW, log->l_mp); in xlog_valid_rec_header()
3446 if (unlikely( blkno > log->l_logBBsize || blkno > INT_MAX )) { in xlog_valid_rec_header()
3448 XFS_ERRLEVEL_LOW, log->l_mp); in xlog_valid_rec_header()
3464 xlog_t *log, in xlog_do_recovery_pass() argument
3484 if (xfs_sb_version_haslogv2(&log->l_mp->m_sb)) { in xlog_do_recovery_pass()
3490 hbp = xlog_get_bp(log, 1); in xlog_do_recovery_pass()
3493 if ((error = xlog_bread(log, tail_blk, 1, hbp))) in xlog_do_recovery_pass()
3495 offset = xlog_align(log, tail_blk, 1, hbp); in xlog_do_recovery_pass()
3497 error = xlog_valid_rec_header(log, rhead, tail_blk); in xlog_do_recovery_pass()
3507 hbp = xlog_get_bp(log, hblks); in xlog_do_recovery_pass()
3512 ASSERT(log->l_sectbb_log == 0); in xlog_do_recovery_pass()
3514 hbp = xlog_get_bp(log, 1); in xlog_do_recovery_pass()
3520 dbp = xlog_get_bp(log, BTOBB(h_size)); in xlog_do_recovery_pass()
3529 if ((error = xlog_bread(log, blk_no, hblks, hbp))) in xlog_do_recovery_pass()
3531 offset = xlog_align(log, blk_no, hblks, hbp); in xlog_do_recovery_pass()
3533 error = xlog_valid_rec_header(log, rhead, blk_no); in xlog_do_recovery_pass()
3539 error = xlog_bread(log, blk_no + hblks, bblks, dbp); in xlog_do_recovery_pass()
3542 offset = xlog_align(log, blk_no + hblks, bblks, dbp); in xlog_do_recovery_pass()
3543 xlog_unpack_data(rhead, offset, log); in xlog_do_recovery_pass()
3544 if ((error = xlog_recover_process_data(log, in xlog_do_recovery_pass()
3556 while (blk_no < log->l_logBBsize) { in xlog_do_recovery_pass()
3563 if (blk_no + hblks <= log->l_logBBsize) { in xlog_do_recovery_pass()
3565 error = xlog_bread(log, blk_no, hblks, hbp); in xlog_do_recovery_pass()
3568 offset = xlog_align(log, blk_no, hblks, hbp); in xlog_do_recovery_pass()
3571 if (blk_no != log->l_logBBsize) { in xlog_do_recovery_pass()
3574 split_hblks = log->l_logBBsize - (int)blk_no; in xlog_do_recovery_pass()
3576 if ((error = xlog_bread(log, blk_no, in xlog_do_recovery_pass()
3579 offset = xlog_align(log, blk_no, in xlog_do_recovery_pass()
3600 error = xlog_bread(log, 0, in xlog_do_recovery_pass()
3608 offset = xlog_align(log, 0, in xlog_do_recovery_pass()
3612 error = xlog_valid_rec_header(log, rhead, in xlog_do_recovery_pass()
3621 if (blk_no + bblks <= log->l_logBBsize) { in xlog_do_recovery_pass()
3622 error = xlog_bread(log, blk_no, bblks, dbp); in xlog_do_recovery_pass()
3625 offset = xlog_align(log, blk_no, bblks, dbp); in xlog_do_recovery_pass()
3631 if (blk_no != log->l_logBBsize) { in xlog_do_recovery_pass()
3637 log->l_logBBsize - (int)blk_no; in xlog_do_recovery_pass()
3639 if ((error = xlog_bread(log, blk_no, in xlog_do_recovery_pass()
3642 offset = xlog_align(log, blk_no, in xlog_do_recovery_pass()
3662 error = xlog_bread(log, wrapped_hblks, in xlog_do_recovery_pass()
3671 offset = xlog_align(log, wrapped_hblks, in xlog_do_recovery_pass()
3674 xlog_unpack_data(rhead, offset, log); in xlog_do_recovery_pass()
3675 if ((error = xlog_recover_process_data(log, rhash, in xlog_do_recovery_pass()
3681 ASSERT(blk_no >= log->l_logBBsize); in xlog_do_recovery_pass()
3682 blk_no -= log->l_logBBsize; in xlog_do_recovery_pass()
3686 if ((error = xlog_bread(log, blk_no, hblks, hbp))) in xlog_do_recovery_pass()
3688 offset = xlog_align(log, blk_no, hblks, hbp); in xlog_do_recovery_pass()
3690 error = xlog_valid_rec_header(log, rhead, blk_no); in xlog_do_recovery_pass()
3694 if ((error = xlog_bread(log, blk_no+hblks, bblks, dbp))) in xlog_do_recovery_pass()
3696 offset = xlog_align(log, blk_no+hblks, bblks, dbp); in xlog_do_recovery_pass()
3697 xlog_unpack_data(rhead, offset, log); in xlog_do_recovery_pass()
3698 if ((error = xlog_recover_process_data(log, rhash, in xlog_do_recovery_pass()
3727 xlog_t *log, in xlog_do_log_recovery() argument
3739 log->l_buf_cancel_table = in xlog_do_log_recovery()
3743 error = xlog_do_recovery_pass(log, head_blk, tail_blk, in xlog_do_log_recovery()
3746 kmem_free(log->l_buf_cancel_table); in xlog_do_log_recovery()
3747 log->l_buf_cancel_table = NULL; in xlog_do_log_recovery()
3754 error = xlog_do_recovery_pass(log, head_blk, tail_blk, in xlog_do_log_recovery()
3761 ASSERT(log->l_buf_cancel_table[i] == NULL); in xlog_do_log_recovery()
3765 kmem_free(log->l_buf_cancel_table); in xlog_do_log_recovery()
3766 log->l_buf_cancel_table = NULL; in xlog_do_log_recovery()
3776 xlog_t *log, in xlog_do_recover() argument
3787 error = xlog_do_log_recovery(log, head_blk, tail_blk); in xlog_do_recover()
3792 XFS_bflush(log->l_mp->m_ddev_targp); in xlog_do_recover()
3797 if (XFS_FORCED_SHUTDOWN(log->l_mp)) { in xlog_do_recover()
3810 xlog_assign_tail_lsn(log->l_mp); in xlog_do_recover()
3816 bp = xfs_getsb(log->l_mp, 0); in xlog_do_recover()
3822 xfsbdstrat(log->l_mp, bp); in xlog_do_recover()
3826 log->l_mp, bp, XFS_BUF_ADDR(bp)); in xlog_do_recover()
3833 sbp = &log->l_mp->m_sb; in xlog_do_recover()
3840 xfs_icsb_reinit_counters(log->l_mp); in xlog_do_recover()
3842 xlog_recover_check_summary(log); in xlog_do_recover()
3845 log->l_flags &= ~XLOG_ACTIVE_RECOVERY; in xlog_do_recover()
3856 xlog_t *log) in xlog_recover() argument
3862 if ((error = xlog_find_tail(log, &head_blk, &tail_blk))) in xlog_recover()
3877 if ((error = xfs_dev_is_read_only(log->l_mp, "recovery"))) { in xlog_recover()
3883 log->l_mp->m_fsname, log->l_mp->m_logname ? in xlog_recover()
3884 log->l_mp->m_logname : "internal"); in xlog_recover()
3886 error = xlog_do_recover(log, head_blk, tail_blk); in xlog_recover()
3887 log->l_flags |= XLOG_RECOVERY_NEEDED; in xlog_recover()
3903 xlog_t *log) in xlog_recover_finish() argument
3913 if (log->l_flags & XLOG_RECOVERY_NEEDED) { in xlog_recover_finish()
3915 error = xlog_recover_process_efis(log); in xlog_recover_finish()
3919 log->l_mp->m_fsname); in xlog_recover_finish()
3928 xfs_log_force(log->l_mp, (xfs_lsn_t)0, in xlog_recover_finish()
3931 xlog_recover_process_iunlinks(log); in xlog_recover_finish()
3933 xlog_recover_check_summary(log); in xlog_recover_finish()
3937 log->l_mp->m_fsname, log->l_mp->m_logname ? in xlog_recover_finish()
3938 log->l_mp->m_logname : "internal"); in xlog_recover_finish()
3939 log->l_flags &= ~XLOG_RECOVERY_NEEDED; in xlog_recover_finish()
3943 log->l_mp->m_fsname); in xlog_recover_finish()
3956 xlog_t *log) in xlog_recover_check_summary() argument
3972 mp = log->l_mp; in xlog_recover_check_summary()