Lines Matching refs:item

1727  * Release the recovered intent item in the AIL that matches the given intent
1782 struct xlog_recover_item *item)
1787 if (ITEM_TYPE(item) == xlog_recover_item_ops[i]->item_type)
1799 * 1. Every item is only logged once in a given transaction. Hence it
1800 * represents the last logged state of the item. Hence ordering is
1848 struct xlog_recover_item *item, *n;
1857 list_for_each_entry_safe(item, n, &sort_list, ri_list) {
1860 item->ri_ops = xlog_find_item_ops(item);
1861 if (!item->ri_ops) {
1864 __func__, ITEM_TYPE(item));
1868 * item list so they can be freed in caller.
1876 if (item->ri_ops->reorder)
1877 fate = item->ri_ops->reorder(item);
1881 list_move_tail(&item->ri_list, &buffer_list);
1885 trans, item, pass);
1886 list_move(&item->ri_list, &cancel_list);
1889 list_move(&item->ri_list, &inode_buffer_list);
1893 trans, item, pass);
1894 list_move_tail(&item->ri_list, &item_list);
1929 struct xlog_recover_item *item;
1932 list_for_each_entry(item, item_list, ri_list) {
1933 trace_xfs_log_recover_item_recover(log, trans, item,
1936 if (item->ri_ops->commit_pass2)
1937 error = item->ri_ops->commit_pass2(log, buffer_list,
1938 item, trans->r_lsn);
1961 struct xlog_recover_item *item;
1974 list_for_each_entry_safe(item, next, &trans->r_itemq, ri_list) {
1975 trace_xfs_log_recover_item_recover(log, trans, item, pass);
1979 if (item->ri_ops->commit_pass1)
1980 error = item->ri_ops->commit_pass1(log, item);
1983 if (item->ri_ops->ra_pass2)
1984 item->ri_ops->ra_pass2(log, item);
1985 list_move_tail(&item->ri_list, &ra_list);
2021 struct xlog_recover_item *item;
2023 item = kmem_zalloc(sizeof(struct xlog_recover_item), 0);
2024 INIT_LIST_HEAD(&item->ri_list);
2025 list_add_tail(&item->ri_list, head);
2035 struct xlog_recover_item *item;
2058 item = list_entry(trans->r_itemq.prev, struct xlog_recover_item,
2061 old_ptr = item->ri_buf[item->ri_cnt-1].i_addr;
2062 old_len = item->ri_buf[item->ri_cnt-1].i_len;
2068 item->ri_buf[item->ri_cnt-1].i_len += len;
2069 item->ri_buf[item->ri_cnt-1].i_addr = ptr;
2070 trace_xfs_log_recover_item_add_cont(log, trans, item, 0);
2085 * will appear in the current log item.
2095 struct xlog_recover_item *item;
2131 item = list_entry(trans->r_itemq.prev, struct xlog_recover_item,
2133 if (item->ri_total != 0 &&
2134 item->ri_total == item->ri_cnt) {
2135 /* tail item is in use, get a new one */
2137 item = list_entry(trans->r_itemq.prev,
2141 if (item->ri_total == 0) { /* first region to be added */
2152 item->ri_total = in_f->ilf_size;
2153 item->ri_buf =
2154 kmem_zalloc(item->ri_total * sizeof(xfs_log_iovec_t),
2158 if (item->ri_total <= item->ri_cnt) {
2160 "log item region count (%d) overflowed size (%d)",
2161 item->ri_cnt, item->ri_total);
2168 item->ri_buf[item->ri_cnt].i_addr = ptr;
2169 item->ri_buf[item->ri_cnt].i_len = len;
2170 item->ri_cnt++;
2171 trace_xfs_log_recover_item_add(log, trans, item, 0);
2184 struct xlog_recover_item *item, *n;
2189 list_for_each_entry_safe(item, n, &trans->r_itemq, ri_list) {
2190 /* Free the regions in the item. */
2191 list_del(&item->ri_list);
2192 for (i = 0; i < item->ri_cnt; i++)
2193 kmem_free(item->ri_buf[i].i_addr);
2194 /* Free the item itself */
2195 kmem_free(item->ri_buf);
2196 kmem_free(item);
2359 * the recovery item.
2361 * a current LSN. I.e., consider that the LSN of a recovery item is
2469 * from recovering a single intent item.
2509 * flag in the intent item to skip those that we've already processed
2551 * We should never see a redo item with a LSN higher than
3221 * takes place in the log item type specific routines.
3464 * cause the AIL to livelock on the pinned item if