iclog 31 fs/xfs/xfs_log.c struct xlog_in_core **iclog, iclog 50 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 56 fs/xfs/xfs_log.c struct xlog_in_core **iclog, iclog 63 fs/xfs/xfs_log.c struct xlog_in_core *iclog); iclog 67 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 72 fs/xfs/xfs_log.c struct xlog_in_core *iclog); iclog 98 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 103 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 514 fs/xfs/xfs_log.c struct xlog_in_core **iclog, iclog 526 fs/xfs/xfs_log.c (xlog_commit_record(log, ticket, iclog, &lsn)))) { iclog 558 fs/xfs/xfs_log.c struct xlog_in_core *iclog) iclog 560 fs/xfs/xfs_log.c if (xlog_state_release_iclog(mp->m_log, iclog)) { iclog 830 fs/xfs/xfs_log.c struct xlog_in_core *iclog; iclog 866 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 867 fs/xfs/xfs_log.c atomic_inc(&iclog->ic_refcnt); iclog 868 fs/xfs/xfs_log.c xlog_state_want_sync(log, iclog); iclog 870 fs/xfs/xfs_log.c error = xlog_state_release_iclog(log, iclog); iclog 873 fs/xfs/xfs_log.c switch (iclog->ic_state) { iclog 876 fs/xfs/xfs_log.c xlog_wait(&iclog->ic_force_wait, &log->l_icloglock); iclog 905 fs/xfs/xfs_log.c xlog_in_core_t *iclog; iclog 925 fs/xfs/xfs_log.c first_iclog = iclog = log->l_iclog; iclog 927 fs/xfs/xfs_log.c if (!(iclog->ic_state & XLOG_STATE_IOERROR)) { iclog 928 fs/xfs/xfs_log.c ASSERT(iclog->ic_state & XLOG_STATE_ACTIVE); iclog 929 fs/xfs/xfs_log.c ASSERT(iclog->ic_offset == 0); iclog 931 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 932 fs/xfs/xfs_log.c } while (iclog != first_iclog); iclog 951 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 952 fs/xfs/xfs_log.c atomic_inc(&iclog->ic_refcnt); iclog 954 fs/xfs/xfs_log.c xlog_state_want_sync(log, iclog); iclog 956 fs/xfs/xfs_log.c error = xlog_state_release_iclog(log, iclog); iclog 960 fs/xfs/xfs_log.c if ( ! ( iclog->ic_state == XLOG_STATE_ACTIVE iclog 961 fs/xfs/xfs_log.c || iclog->ic_state == XLOG_STATE_DIRTY iclog 962 fs/xfs/xfs_log.c || iclog->ic_state == XLOG_STATE_IOERROR) ) { iclog 964 fs/xfs/xfs_log.c xlog_wait(&iclog->ic_force_wait, iclog 1232 fs/xfs/xfs_log.c struct xlog_in_core *iclog = iclog 1234 fs/xfs/xfs_log.c struct xlog *log = iclog->ic_log; iclog 1238 fs/xfs/xfs_log.c error = blk_status_to_errno(iclog->ic_bio.bi_status); iclog 1241 fs/xfs/xfs_log.c if (iclog->ic_fail_crc) iclog 1257 fs/xfs/xfs_log.c } else if (iclog->ic_state & XLOG_STATE_IOERROR) { iclog 1261 fs/xfs/xfs_log.c xlog_state_done_syncing(iclog, aborted); iclog 1262 fs/xfs/xfs_log.c bio_uninit(&iclog->ic_bio); iclog 1270 fs/xfs/xfs_log.c up(&iclog->ic_sema); iclog 1362 fs/xfs/xfs_log.c xlog_in_core_t *iclog, *prev_iclog=NULL; iclog 1437 fs/xfs/xfs_log.c iclog = kmem_zalloc(sizeof(*iclog) + bvec_size, KM_MAYFAIL); iclog 1438 fs/xfs/xfs_log.c if (!iclog) iclog 1441 fs/xfs/xfs_log.c *iclogp = iclog; iclog 1442 fs/xfs/xfs_log.c iclog->ic_prev = prev_iclog; iclog 1443 fs/xfs/xfs_log.c prev_iclog = iclog; iclog 1445 fs/xfs/xfs_log.c iclog->ic_data = kmem_alloc_io(log->l_iclog_size, align_mask, iclog 1447 fs/xfs/xfs_log.c if (!iclog->ic_data) iclog 1450 fs/xfs/xfs_log.c log->l_iclog_bak[i] = &iclog->ic_header; iclog 1452 fs/xfs/xfs_log.c head = &iclog->ic_header; iclog 1462 fs/xfs/xfs_log.c iclog->ic_size = log->l_iclog_size - log->l_iclog_hsize; iclog 1463 fs/xfs/xfs_log.c iclog->ic_state = XLOG_STATE_ACTIVE; iclog 1464 fs/xfs/xfs_log.c iclog->ic_log = log; iclog 1465 fs/xfs/xfs_log.c atomic_set(&iclog->ic_refcnt, 0); iclog 1466 fs/xfs/xfs_log.c spin_lock_init(&iclog->ic_callback_lock); iclog 1467 fs/xfs/xfs_log.c INIT_LIST_HEAD(&iclog->ic_callbacks); iclog 1468 fs/xfs/xfs_log.c iclog->ic_datap = (char *)iclog->ic_data + log->l_iclog_hsize; iclog 1470 fs/xfs/xfs_log.c init_waitqueue_head(&iclog->ic_force_wait); iclog 1471 fs/xfs/xfs_log.c init_waitqueue_head(&iclog->ic_write_wait); iclog 1472 fs/xfs/xfs_log.c INIT_WORK(&iclog->ic_end_io_work, xlog_ioend_work); iclog 1473 fs/xfs/xfs_log.c sema_init(&iclog->ic_sema, 1); iclog 1475 fs/xfs/xfs_log.c iclogp = &iclog->ic_next; iclog 1494 fs/xfs/xfs_log.c for (iclog = log->l_iclog; iclog; iclog = prev_iclog) { iclog 1495 fs/xfs/xfs_log.c prev_iclog = iclog->ic_next; iclog 1496 fs/xfs/xfs_log.c kmem_free(iclog->ic_data); iclog 1497 fs/xfs/xfs_log.c kmem_free(iclog); iclog 1516 fs/xfs/xfs_log.c struct xlog_in_core **iclog, iclog 1531 fs/xfs/xfs_log.c ASSERT_ALWAYS(iclog); iclog 1532 fs/xfs/xfs_log.c error = xlog_write(log, &vec, ticket, commitlsnp, iclog, iclog 1608 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 1612 fs/xfs/xfs_log.c int size = iclog->ic_offset + roundoff; iclog 1616 fs/xfs/xfs_log.c cycle_lsn = CYCLE_LSN_DISK(iclog->ic_header.h_lsn); iclog 1618 fs/xfs/xfs_log.c dp = iclog->ic_datap; iclog 1622 fs/xfs/xfs_log.c iclog->ic_header.h_cycle_data[i] = *(__be32 *)dp; iclog 1628 fs/xfs/xfs_log.c xlog_in_core_2_t *xhdr = iclog->ic_data; iclog 1689 fs/xfs/xfs_log.c struct xlog_in_core *iclog = bio->bi_private; iclog 1691 fs/xfs/xfs_log.c queue_work(iclog->ic_log->l_ioend_workqueue, iclog 1692 fs/xfs/xfs_log.c &iclog->ic_end_io_work); iclog 1716 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 1731 fs/xfs/xfs_log.c down(&iclog->ic_sema); iclog 1732 fs/xfs/xfs_log.c if (unlikely(iclog->ic_state & XLOG_STATE_IOERROR)) { iclog 1740 fs/xfs/xfs_log.c xlog_state_done_syncing(iclog, XFS_LI_ABORTED); iclog 1741 fs/xfs/xfs_log.c up(&iclog->ic_sema); iclog 1745 fs/xfs/xfs_log.c iclog->ic_io_size = count; iclog 1747 fs/xfs/xfs_log.c bio_init(&iclog->ic_bio, iclog->ic_bvec, howmany(count, PAGE_SIZE)); iclog 1748 fs/xfs/xfs_log.c bio_set_dev(&iclog->ic_bio, log->l_targ->bt_bdev); iclog 1749 fs/xfs/xfs_log.c iclog->ic_bio.bi_iter.bi_sector = log->l_logBBstart + bno; iclog 1750 fs/xfs/xfs_log.c iclog->ic_bio.bi_end_io = xlog_bio_end_io; iclog 1751 fs/xfs/xfs_log.c iclog->ic_bio.bi_private = iclog; iclog 1752 fs/xfs/xfs_log.c iclog->ic_bio.bi_opf = REQ_OP_WRITE | REQ_META | REQ_SYNC | REQ_FUA; iclog 1754 fs/xfs/xfs_log.c iclog->ic_bio.bi_opf |= REQ_PREFLUSH; iclog 1756 fs/xfs/xfs_log.c xlog_map_iclog_data(&iclog->ic_bio, iclog->ic_data, iclog->ic_io_size); iclog 1757 fs/xfs/xfs_log.c if (is_vmalloc_addr(iclog->ic_data)) iclog 1758 fs/xfs/xfs_log.c flush_kernel_vmap_range(iclog->ic_data, iclog->ic_io_size); iclog 1767 fs/xfs/xfs_log.c split = bio_split(&iclog->ic_bio, log->l_logBBsize - bno, iclog 1769 fs/xfs/xfs_log.c bio_chain(split, &iclog->ic_bio); iclog 1773 fs/xfs/xfs_log.c iclog->ic_bio.bi_iter.bi_sector = log->l_logBBstart; iclog 1776 fs/xfs/xfs_log.c submit_bio(&iclog->ic_bio); iclog 1806 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 1816 fs/xfs/xfs_log.c count_init = log->l_iclog_hsize + iclog->ic_offset; iclog 1862 fs/xfs/xfs_log.c struct xlog_in_core *iclog) iclog 1870 fs/xfs/xfs_log.c ASSERT(atomic_read(&iclog->ic_refcnt) == 0); iclog 1872 fs/xfs/xfs_log.c count = xlog_calc_iclog_size(log, iclog, &roundoff); iclog 1879 fs/xfs/xfs_log.c xlog_pack_data(log, iclog, roundoff); iclog 1882 fs/xfs/xfs_log.c size = iclog->ic_offset; iclog 1885 fs/xfs/xfs_log.c iclog->ic_header.h_len = cpu_to_be32(size); iclog 1890 fs/xfs/xfs_log.c bno = BLOCK_LSN(be64_to_cpu(iclog->ic_header.h_lsn)); iclog 1894 fs/xfs/xfs_log.c xlog_split_iclog(log, &iclog->ic_header, bno, count); iclog 1899 fs/xfs/xfs_log.c iclog->ic_header.h_crc = xlog_cksum(log, &iclog->ic_header, iclog 1900 fs/xfs/xfs_log.c iclog->ic_datap, size); iclog 1910 fs/xfs/xfs_log.c iclog->ic_header.h_crc &= cpu_to_le32(0xAAAAAAAA); iclog 1911 fs/xfs/xfs_log.c iclog->ic_fail_crc = true; iclog 1914 fs/xfs/xfs_log.c be64_to_cpu(iclog->ic_header.h_lsn)); iclog 1931 fs/xfs/xfs_log.c xlog_verify_iclog(log, iclog, count); iclog 1932 fs/xfs/xfs_log.c xlog_write_iclog(log, iclog, bno, count, need_flush); iclog 1942 fs/xfs/xfs_log.c xlog_in_core_t *iclog, *next_iclog; iclog 1951 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 1953 fs/xfs/xfs_log.c down(&iclog->ic_sema); iclog 1954 fs/xfs/xfs_log.c up(&iclog->ic_sema); iclog 1955 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 1958 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 1960 fs/xfs/xfs_log.c next_iclog = iclog->ic_next; iclog 1961 fs/xfs/xfs_log.c kmem_free(iclog->ic_data); iclog 1962 fs/xfs/xfs_log.c kmem_free(iclog); iclog 1963 fs/xfs/xfs_log.c iclog = next_iclog; iclog 1978 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 1984 fs/xfs/xfs_log.c be32_add_cpu(&iclog->ic_header.h_num_logops, record_cnt); iclog 1985 fs/xfs/xfs_log.c iclog->ic_offset += copy_bytes; iclog 2259 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 2273 fs/xfs/xfs_log.c xlog_state_finish_copy(log, iclog, *record_cnt, *data_cnt); iclog 2276 fs/xfs/xfs_log.c return xlog_state_release_iclog(log, iclog); iclog 2282 fs/xfs/xfs_log.c if (iclog->ic_size - log_offset <= sizeof(xlog_op_header_t)) { iclog 2284 fs/xfs/xfs_log.c xlog_state_finish_copy(log, iclog, *record_cnt, *data_cnt); iclog 2289 fs/xfs/xfs_log.c xlog_state_want_sync(log, iclog); iclog 2293 fs/xfs/xfs_log.c return xlog_state_release_iclog(log, iclog); iclog 2295 fs/xfs/xfs_log.c *commit_iclog = iclog; iclog 2350 fs/xfs/xfs_log.c struct xlog_in_core *iclog = NULL; iclog 2395 fs/xfs/xfs_log.c error = xlog_state_get_iclog_space(log, len, &iclog, ticket, iclog 2400 fs/xfs/xfs_log.c ASSERT(log_offset <= iclog->ic_size - 1); iclog 2401 fs/xfs/xfs_log.c ptr = iclog->ic_datap + log_offset; iclog 2405 fs/xfs/xfs_log.c *start_lsn = be64_to_cpu(iclog->ic_header.h_lsn); iclog 2445 fs/xfs/xfs_log.c iclog->ic_size-log_offset, iclog 2470 fs/xfs/xfs_log.c error = xlog_write_copy_finish(log, iclog, flags, iclog 2511 fs/xfs/xfs_log.c xlog_state_finish_copy(log, iclog, record_cnt, data_cnt); iclog 2513 fs/xfs/xfs_log.c return xlog_state_release_iclog(log, iclog); iclog 2516 fs/xfs/xfs_log.c *commit_iclog = iclog; iclog 2549 fs/xfs/xfs_log.c struct xlog_in_core *iclog; iclog 2557 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 2559 fs/xfs/xfs_log.c if (iclog->ic_state == XLOG_STATE_DIRTY) { iclog 2560 fs/xfs/xfs_log.c iclog->ic_state = XLOG_STATE_ACTIVE; iclog 2561 fs/xfs/xfs_log.c iclog->ic_offset = 0; iclog 2562 fs/xfs/xfs_log.c ASSERT(list_empty_careful(&iclog->ic_callbacks)); iclog 2572 fs/xfs/xfs_log.c (be32_to_cpu(iclog->ic_header.h_num_logops) == iclog 2583 fs/xfs/xfs_log.c iclog->ic_header.h_num_logops = 0; iclog 2584 fs/xfs/xfs_log.c memset(iclog->ic_header.h_cycle_data, 0, iclog 2585 fs/xfs/xfs_log.c sizeof(iclog->ic_header.h_cycle_data)); iclog 2586 fs/xfs/xfs_log.c iclog->ic_header.h_lsn = 0; iclog 2587 fs/xfs/xfs_log.c } else if (iclog->ic_state == XLOG_STATE_ACTIVE) iclog 2591 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 2592 fs/xfs/xfs_log.c } while (iclog != log->l_iclog); iclog 2640 fs/xfs/xfs_log.c struct xlog_in_core *iclog = log->l_iclog; iclog 2644 fs/xfs/xfs_log.c if (iclog->ic_state & (XLOG_STATE_ACTIVE | XLOG_STATE_DIRTY)) iclog 2647 fs/xfs/xfs_log.c lsn = be64_to_cpu(iclog->ic_header.h_lsn); iclog 2650 fs/xfs/xfs_log.c } while ((iclog = iclog->ic_next) != log->l_iclog); iclog 2680 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 2683 fs/xfs/xfs_log.c iclog->ic_state = XLOG_STATE_CALLBACK; iclog 2688 fs/xfs/xfs_log.c if (list_empty_careful(&iclog->ic_callbacks)) iclog 2703 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 2711 fs/xfs/xfs_log.c if (iclog->ic_state & (XLOG_STATE_ACTIVE | XLOG_STATE_DIRTY)) iclog 2720 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) { iclog 2732 fs/xfs/xfs_log.c if (!(iclog->ic_state & iclog 2751 fs/xfs/xfs_log.c header_lsn = be64_to_cpu(iclog->ic_header.h_lsn); iclog 2756 fs/xfs/xfs_log.c xlog_state_set_callback(log, iclog, header_lsn); iclog 2773 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 2777 fs/xfs/xfs_log.c spin_lock(&iclog->ic_callback_lock); iclog 2778 fs/xfs/xfs_log.c while (!list_empty(&iclog->ic_callbacks)) { iclog 2781 fs/xfs/xfs_log.c list_splice_init(&iclog->ic_callbacks, &tmp); iclog 2783 fs/xfs/xfs_log.c spin_unlock(&iclog->ic_callback_lock); iclog 2785 fs/xfs/xfs_log.c spin_lock(&iclog->ic_callback_lock); iclog 2794 fs/xfs/xfs_log.c spin_unlock(&iclog->ic_callback_lock); iclog 2814 fs/xfs/xfs_log.c struct xlog_in_core *iclog = first_iclog; iclog 2817 fs/xfs/xfs_log.c ASSERT(iclog->ic_state != XLOG_STATE_DO_CALLBACK); iclog 2827 fs/xfs/xfs_log.c if (iclog->ic_state == XLOG_STATE_WANT_SYNC || iclog 2828 fs/xfs/xfs_log.c iclog->ic_state & XLOG_STATE_SYNCING || iclog 2829 fs/xfs/xfs_log.c iclog->ic_state == XLOG_STATE_DONE_SYNC || iclog 2830 fs/xfs/xfs_log.c iclog->ic_state == XLOG_STATE_IOERROR ) iclog 2832 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 2833 fs/xfs/xfs_log.c } while (first_iclog != iclog); iclog 2845 fs/xfs/xfs_log.c struct xlog_in_core *iclog; iclog 2864 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 2870 fs/xfs/xfs_log.c if (xlog_state_iodone_process_iclog(log, iclog, iclog 2874 fs/xfs/xfs_log.c if (!(iclog->ic_state & iclog 2876 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 2885 fs/xfs/xfs_log.c xlog_state_do_iclog_callbacks(log, iclog, aborted); iclog 2887 fs/xfs/xfs_log.c xlog_state_clean_iclog(log, iclog); iclog 2888 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 2889 fs/xfs/xfs_log.c } while (first_iclog != iclog); iclog 2927 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 2930 fs/xfs/xfs_log.c struct xlog *log = iclog->ic_log; iclog 2934 fs/xfs/xfs_log.c ASSERT(iclog->ic_state == XLOG_STATE_SYNCING || iclog 2935 fs/xfs/xfs_log.c iclog->ic_state == XLOG_STATE_IOERROR); iclog 2936 fs/xfs/xfs_log.c ASSERT(atomic_read(&iclog->ic_refcnt) == 0); iclog 2944 fs/xfs/xfs_log.c if (iclog->ic_state != XLOG_STATE_IOERROR) iclog 2945 fs/xfs/xfs_log.c iclog->ic_state = XLOG_STATE_DONE_SYNC; iclog 2952 fs/xfs/xfs_log.c wake_up_all(&iclog->ic_write_wait); iclog 2954 fs/xfs/xfs_log.c xlog_state_do_callback(log, aborted, iclog); /* also cleans log */ iclog 2987 fs/xfs/xfs_log.c xlog_in_core_t *iclog; iclog 2997 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 2998 fs/xfs/xfs_log.c if (iclog->ic_state != XLOG_STATE_ACTIVE) { iclog 3006 fs/xfs/xfs_log.c head = &iclog->ic_header; iclog 3008 fs/xfs/xfs_log.c atomic_inc(&iclog->ic_refcnt); /* prevents sync */ iclog 3009 fs/xfs/xfs_log.c log_offset = iclog->ic_offset; iclog 3036 fs/xfs/xfs_log.c if (iclog->ic_size - iclog->ic_offset < 2*sizeof(xlog_op_header_t)) { iclog 3037 fs/xfs/xfs_log.c xlog_state_switch_iclogs(log, iclog, iclog->ic_size); iclog 3046 fs/xfs/xfs_log.c if (!atomic_add_unless(&iclog->ic_refcnt, -1, 1)) { iclog 3049 fs/xfs/xfs_log.c error = xlog_state_release_iclog(log, iclog); iclog 3064 fs/xfs/xfs_log.c if (len <= iclog->ic_size - iclog->ic_offset) { iclog 3066 fs/xfs/xfs_log.c iclog->ic_offset += len; iclog 3069 fs/xfs/xfs_log.c xlog_state_switch_iclogs(log, iclog, iclog->ic_size); iclog 3071 fs/xfs/xfs_log.c *iclogp = iclog; iclog 3073 fs/xfs/xfs_log.c ASSERT(iclog->ic_offset <= iclog->ic_size); iclog 3177 fs/xfs/xfs_log.c struct xlog_in_core *iclog) iclog 3181 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) iclog 3184 fs/xfs/xfs_log.c ASSERT(atomic_read(&iclog->ic_refcnt) > 0); iclog 3185 fs/xfs/xfs_log.c if (!atomic_dec_and_lock(&iclog->ic_refcnt, &log->l_icloglock)) iclog 3188 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) { iclog 3192 fs/xfs/xfs_log.c ASSERT(iclog->ic_state == XLOG_STATE_ACTIVE || iclog 3193 fs/xfs/xfs_log.c iclog->ic_state == XLOG_STATE_WANT_SYNC); iclog 3195 fs/xfs/xfs_log.c if (iclog->ic_state == XLOG_STATE_WANT_SYNC) { iclog 3199 fs/xfs/xfs_log.c iclog->ic_state = XLOG_STATE_SYNCING; iclog 3200 fs/xfs/xfs_log.c iclog->ic_header.h_tail_lsn = cpu_to_be64(tail_lsn); iclog 3201 fs/xfs/xfs_log.c xlog_verify_tail_lsn(log, iclog, tail_lsn); iclog 3214 fs/xfs/xfs_log.c xlog_sync(log, iclog); iclog 3229 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 3232 fs/xfs/xfs_log.c ASSERT(iclog->ic_state == XLOG_STATE_ACTIVE); iclog 3234 fs/xfs/xfs_log.c eventual_size = iclog->ic_offset; iclog 3235 fs/xfs/xfs_log.c iclog->ic_state = XLOG_STATE_WANT_SYNC; iclog 3236 fs/xfs/xfs_log.c iclog->ic_header.h_prev_block = cpu_to_be32(log->l_prev_block); iclog 3265 fs/xfs/xfs_log.c ASSERT(iclog == log->l_iclog); iclog 3266 fs/xfs/xfs_log.c log->l_iclog = iclog->ic_next; iclog 3302 fs/xfs/xfs_log.c struct xlog_in_core *iclog; iclog 3311 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 3312 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) iclog 3315 fs/xfs/xfs_log.c if (iclog->ic_state == XLOG_STATE_DIRTY || iclog 3316 fs/xfs/xfs_log.c (iclog->ic_state == XLOG_STATE_ACTIVE && iclog 3317 fs/xfs/xfs_log.c atomic_read(&iclog->ic_refcnt) == 0 && iclog->ic_offset == 0)) { iclog 3326 fs/xfs/xfs_log.c iclog = iclog->ic_prev; iclog 3327 fs/xfs/xfs_log.c if (iclog->ic_state == XLOG_STATE_ACTIVE || iclog 3328 fs/xfs/xfs_log.c iclog->ic_state == XLOG_STATE_DIRTY) iclog 3330 fs/xfs/xfs_log.c } else if (iclog->ic_state == XLOG_STATE_ACTIVE) { iclog 3331 fs/xfs/xfs_log.c if (atomic_read(&iclog->ic_refcnt) == 0) { iclog 3339 fs/xfs/xfs_log.c atomic_inc(&iclog->ic_refcnt); iclog 3340 fs/xfs/xfs_log.c lsn = be64_to_cpu(iclog->ic_header.h_lsn); iclog 3341 fs/xfs/xfs_log.c xlog_state_switch_iclogs(log, iclog, 0); iclog 3344 fs/xfs/xfs_log.c if (xlog_state_release_iclog(log, iclog)) iclog 3348 fs/xfs/xfs_log.c if (be64_to_cpu(iclog->ic_header.h_lsn) != lsn || iclog 3349 fs/xfs/xfs_log.c iclog->ic_state == XLOG_STATE_DIRTY) iclog 3359 fs/xfs/xfs_log.c xlog_state_switch_iclogs(log, iclog, 0); iclog 3372 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) iclog 3375 fs/xfs/xfs_log.c xlog_wait(&iclog->ic_force_wait, &log->l_icloglock); iclog 3376 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) iclog 3397 fs/xfs/xfs_log.c struct xlog_in_core *iclog; iclog 3400 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 3401 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) iclog 3404 fs/xfs/xfs_log.c while (be64_to_cpu(iclog->ic_header.h_lsn) != lsn) { iclog 3405 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 3406 fs/xfs/xfs_log.c if (iclog == log->l_iclog) iclog 3410 fs/xfs/xfs_log.c if (iclog->ic_state == XLOG_STATE_DIRTY) iclog 3413 fs/xfs/xfs_log.c if (iclog->ic_state == XLOG_STATE_ACTIVE) { iclog 3430 fs/xfs/xfs_log.c (iclog->ic_prev->ic_state & iclog 3432 fs/xfs/xfs_log.c ASSERT(!(iclog->ic_state & XLOG_STATE_IOERROR)); iclog 3436 fs/xfs/xfs_log.c xlog_wait(&iclog->ic_prev->ic_write_wait, iclog 3440 fs/xfs/xfs_log.c atomic_inc(&iclog->ic_refcnt); iclog 3441 fs/xfs/xfs_log.c xlog_state_switch_iclogs(log, iclog, 0); iclog 3443 fs/xfs/xfs_log.c if (xlog_state_release_iclog(log, iclog)) iclog 3451 fs/xfs/xfs_log.c (iclog->ic_state & (XLOG_STATE_ACTIVE | XLOG_STATE_DIRTY))) iclog 3454 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) iclog 3458 fs/xfs/xfs_log.c xlog_wait(&iclog->ic_force_wait, &log->l_icloglock); iclog 3459 fs/xfs/xfs_log.c if (iclog->ic_state & XLOG_STATE_IOERROR) iclog 3515 fs/xfs/xfs_log.c struct xlog_in_core *iclog) iclog 3519 fs/xfs/xfs_log.c if (iclog->ic_state == XLOG_STATE_ACTIVE) { iclog 3520 fs/xfs/xfs_log.c xlog_state_switch_iclogs(log, iclog, 0); iclog 3522 fs/xfs/xfs_log.c ASSERT(iclog->ic_state & iclog 3764 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 3772 fs/xfs/xfs_log.c if (blocks < BTOBB(iclog->ic_offset)+BTOBB(log->l_iclog_hsize)) iclog 3781 fs/xfs/xfs_log.c if (blocks < BTOBB(iclog->ic_offset) + 1) iclog 3804 fs/xfs/xfs_log.c struct xlog_in_core *iclog, iclog 3827 fs/xfs/xfs_log.c if (iclog->ic_header.h_magicno != cpu_to_be32(XLOG_HEADER_MAGIC_NUM)) iclog 3830 fs/xfs/xfs_log.c base_ptr = ptr = &iclog->ic_header; iclog 3831 fs/xfs/xfs_log.c p = &iclog->ic_header; iclog 3839 fs/xfs/xfs_log.c len = be32_to_cpu(iclog->ic_header.h_num_logops); iclog 3840 fs/xfs/xfs_log.c base_ptr = ptr = iclog->ic_datap; iclog 3842 fs/xfs/xfs_log.c xhdr = iclog->ic_data; iclog 3852 fs/xfs/xfs_log.c idx = BTOBBT((char *)&ophead->oh_clientid - iclog->ic_datap); iclog 3860 fs/xfs/xfs_log.c iclog->ic_header.h_cycle_data[idx]); iclog 3876 fs/xfs/xfs_log.c (uintptr_t)iclog->ic_datap); iclog 3882 fs/xfs/xfs_log.c op_len = be32_to_cpu(iclog->ic_header.h_cycle_data[idx]); iclog 3897 fs/xfs/xfs_log.c xlog_in_core_t *iclog, *ic; iclog 3899 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 3900 fs/xfs/xfs_log.c if (! (iclog->ic_state & XLOG_STATE_IOERROR)) { iclog 3905 fs/xfs/xfs_log.c ic = iclog; iclog 3909 fs/xfs/xfs_log.c } while (ic != iclog); iclog 4015 fs/xfs/xfs_log.c xlog_in_core_t *iclog; iclog 4018 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 4020 fs/xfs/xfs_log.c ASSERT(iclog->ic_callback == 0); iclog 4021 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 4022 fs/xfs/xfs_log.c } while (iclog != log->l_iclog); iclog 4034 fs/xfs/xfs_log.c xlog_in_core_t *iclog; iclog 4036 fs/xfs/xfs_log.c iclog = log->l_iclog; iclog 4041 fs/xfs/xfs_log.c if (iclog->ic_header.h_num_logops) iclog 4043 fs/xfs/xfs_log.c iclog = iclog->ic_next; iclog 4044 fs/xfs/xfs_log.c } while (iclog != log->l_iclog); iclog 110 fs/xfs/xfs_log.h struct xlog_in_core **iclog, iclog 125 fs/xfs/xfs_log.h struct xlog_in_core *iclog);