Lines Matching refs:itx

150 static int zil_lwb_commit(zilog_t *zilog, lwb_t *lwb, itx_t *itx);
1468 itx_t *itx; in zil_lwb_flush_vdevs_done() local
1493 while ((itx = list_remove_head(&lwb->lwb_itxs)) != NULL) in zil_lwb_flush_vdevs_done()
1494 zil_itx_destroy(itx, 0); in zil_lwb_flush_vdevs_done()
1938 for (itx_t *itx = list_head(&lwb->lwb_itxs); itx; in zil_lwb_write_issue() local
1939 itx = list_next(&lwb->lwb_itxs, itx)) { in zil_lwb_write_issue()
1940 error = zil_lwb_commit(zilog, lwb, itx); in zil_lwb_write_issue()
2237 zil_itx_record_size(itx_t *itx) in zil_itx_record_size() argument
2239 lr_t *lr = &itx->itx_lr; in zil_itx_record_size()
2248 zil_itx_data_size(itx_t *itx) in zil_itx_data_size() argument
2250 lr_t *lr = &itx->itx_lr; in zil_itx_data_size()
2253 if (lr->lrc_txtype == TX_WRITE && itx->itx_wr_state == WR_NEED_COPY) { in zil_itx_data_size()
2262 zil_itx_full_size(itx_t *itx) in zil_itx_full_size() argument
2264 lr_t *lr = &itx->itx_lr; in zil_itx_full_size()
2269 return (lr->lrc_reclen + zil_itx_data_size(itx)); in zil_itx_full_size()
2279 zil_lwb_assign(zilog_t *zilog, lwb_t *lwb, itx_t *itx, list_t *ilwbs) in zil_lwb_assign() argument
2291 lr = &itx->itx_lr; in zil_lwb_assign()
2307 zil_commit_waiter_link_lwb(itx->itx_private, lwb); in zil_lwb_assign()
2308 list_insert_tail(&lwb->lwb_itxs, itx); in zil_lwb_assign()
2315 dlen = zil_itx_data_size(itx); in zil_lwb_assign()
2350 ASSERT3U(itx->itx_wr_state, ==, WR_NEED_COPY); in zil_lwb_assign()
2351 citx = zil_itx_clone(itx); in zil_lwb_assign()
2359 citx = itx; in zil_lwb_assign()
2396 zil_lwb_commit(zilog_t *zilog, lwb_t *lwb, itx_t *itx) in zil_lwb_commit() argument
2403 lr = &itx->itx_lr; in zil_lwb_commit()
2410 dlen = zil_itx_data_size(itx); in zil_lwb_commit()
2424 if (itx->itx_wr_state == WR_COPIED) { in zil_lwb_commit()
2432 if (itx->itx_wr_state == WR_NEED_COPY) { in zil_lwb_commit()
2439 ASSERT3S(itx->itx_wr_state, ==, WR_INDIRECT); in zil_lwb_commit()
2459 error = zilog->zl_get_data(itx->itx_private, in zil_lwb_commit()
2460 itx->itx_gen, lrwb, dbuf, lwb, in zil_lwb_commit()
2537 itx_t *itx; in zil_itx_create() local
2544 itx = zio_data_buf_alloc(itxsize); in zil_itx_create()
2545 itx->itx_lr.lrc_txtype = txtype; in zil_itx_create()
2546 itx->itx_lr.lrc_reclen = lrsize; in zil_itx_create()
2547 itx->itx_lr.lrc_seq = 0; /* defensive */ in zil_itx_create()
2548 memset((char *)&itx->itx_lr + olrsize, 0, lrsize - olrsize); in zil_itx_create()
2549 itx->itx_sync = B_TRUE; /* default is synchronous */ in zil_itx_create()
2550 itx->itx_callback = NULL; in zil_itx_create()
2551 itx->itx_callback_data = NULL; in zil_itx_create()
2552 itx->itx_size = itxsize; in zil_itx_create()
2554 return (itx); in zil_itx_create()
2564 itx_t *itx = zio_data_buf_alloc(oitx->itx_size); in zil_itx_clone() local
2565 memcpy(itx, oitx, oitx->itx_size); in zil_itx_clone()
2566 itx->itx_callback = NULL; in zil_itx_clone()
2567 itx->itx_callback_data = NULL; in zil_itx_clone()
2568 return (itx); in zil_itx_clone()
2572 zil_itx_destroy(itx_t *itx, int err) in zil_itx_destroy() argument
2574 ASSERT3U(itx->itx_size, >=, sizeof (itx_t)); in zil_itx_destroy()
2575 ASSERT3U(itx->itx_lr.lrc_reclen, ==, in zil_itx_destroy()
2576 itx->itx_size - offsetof(itx_t, itx_lr)); in zil_itx_destroy()
2577 IMPLY(itx->itx_lr.lrc_txtype == TX_COMMIT, itx->itx_callback == NULL); in zil_itx_destroy()
2578 IMPLY(itx->itx_callback != NULL, itx->itx_lr.lrc_txtype != TX_COMMIT); in zil_itx_destroy()
2580 if (itx->itx_callback != NULL) in zil_itx_destroy()
2581 itx->itx_callback(itx->itx_callback_data, err); in zil_itx_destroy()
2583 zio_data_buf_free(itx, itx->itx_size); in zil_itx_destroy()
2593 itx_t *itx; in zil_itxg_clean() local
2601 while ((itx = list_remove_head(list)) != NULL) { in zil_itxg_clean()
2621 if (itx->itx_lr.lrc_txtype == TX_COMMIT) in zil_itxg_clean()
2622 zil_commit_waiter_done(itx->itx_private, 0); in zil_itxg_clean()
2624 zil_itx_destroy(itx, 0); in zil_itxg_clean()
2631 while ((itx = list_remove_head(list)) != NULL) { in zil_itxg_clean()
2633 ASSERT3U(itx->itx_lr.lrc_txtype, !=, TX_COMMIT); in zil_itxg_clean()
2634 zil_itx_destroy(itx, 0); in zil_itxg_clean()
2664 itx_t *itx; in zil_remove_async() local
2693 while ((itx = list_remove_head(&clean_list)) != NULL) { in zil_remove_async()
2695 ASSERT3U(itx->itx_lr.lrc_txtype, !=, TX_COMMIT); in zil_remove_async()
2696 zil_itx_destroy(itx, 0); in zil_remove_async()
2702 zil_itx_assign(zilog_t *zilog, itx_t *itx, dmu_tx_t *tx) in zil_itx_assign() argument
2711 if ((itx->itx_lr.lrc_txtype & ~TX_CI) == TX_RENAME) in zil_itx_assign()
2712 zil_async_to_sync(zilog, itx->itx_oid); in zil_itx_assign()
2743 if (itx->itx_sync) { in zil_itx_assign()
2744 list_insert_tail(&itxs->i_sync_list, itx); in zil_itx_assign()
2748 LR_FOID_GET_OBJ(((lr_ooo_t *)&itx->itx_lr)->lr_foid); in zil_itx_assign()
2761 list_insert_tail(&ian->ia_list, itx); in zil_itx_assign()
2764 itx->itx_lr.lrc_txg = dmu_tx_get_txg(tx); in zil_itx_assign()
2933 itx_t *itx = NULL; in zil_get_commit_list() local
2943 itx = list_head(sync_list); in zil_get_commit_list()
2949 while (itx != NULL) { in zil_get_commit_list()
2950 uint64_t s = zil_itx_full_size(itx); in zil_get_commit_list()
2953 s = zil_itx_record_size(itx); in zil_get_commit_list()
2955 itx = list_next(commit_list, itx); in zil_get_commit_list()
3030 itx_t *itx; in zil_prune_commit_list() local
3034 while ((itx = list_head(&zilog->zl_itx_commit_list)) != NULL) { in zil_prune_commit_list()
3035 lr_t *lrc = &itx->itx_lr; in zil_prune_commit_list()
3050 zil_commit_waiter_done(itx->itx_private, 0); in zil_prune_commit_list()
3052 zil_commit_waiter_link_lwb(itx->itx_private, last_lwb); in zil_prune_commit_list()
3057 list_remove(&zilog->zl_itx_commit_list, itx); in zil_prune_commit_list()
3058 zil_itx_destroy(itx, 0); in zil_prune_commit_list()
3061 IMPLY(itx != NULL, itx->itx_lr.lrc_txtype != TX_COMMIT); in zil_prune_commit_list()
3140 itx_t *itx; in zil_process_commit_list() local
3183 while ((itx = list_remove_head(&zilog->zl_itx_commit_list)) != NULL) { in zil_process_commit_list()
3184 lr_t *lrc = &itx->itx_lr; in zil_process_commit_list()
3191 zilog_t *, zilog, itx_t *, itx); in zil_process_commit_list()
3194 zilog_t *, zilog, itx_t *, itx); in zil_process_commit_list()
3246 lwb = zil_lwb_assign(zilog, lwb, itx, ilwbs); in zil_process_commit_list()
3248 list_insert_tail(&nolwb_itxs, itx); in zil_process_commit_list()
3257 zil_itx_full_size(itx); in zil_process_commit_list()
3263 itx->itx_private, &nolwb_waiters); in zil_process_commit_list()
3265 list_insert_tail(&nolwb_itxs, itx); in zil_process_commit_list()
3267 zilog->zl_cur_left -= zil_itx_full_size(itx); in zil_process_commit_list()
3270 zilog->zl_cur_left -= zil_itx_full_size(itx); in zil_process_commit_list()
3271 zil_itx_destroy(itx, 0); in zil_process_commit_list()
3312 while ((itx = list_remove_head(&nolwb_itxs)) != NULL) in zil_process_commit_list()
3313 zil_itx_destroy(itx, err); in zil_process_commit_list()
3735 itx_t *itx = zil_itx_create(TX_COMMIT, sizeof (lr_t)); in zil_commit_itx_assign() local
3736 itx->itx_sync = B_TRUE; in zil_commit_itx_assign()
3737 itx->itx_private = zcw; in zil_commit_itx_assign()
3739 zil_itx_assign(zilog, itx, tx); in zil_commit_itx_assign()
3806 itx_t *itx; in zil_crash() local
3807 while ((itx = list_remove_head(&lwb->lwb_itxs)) != NULL) in zil_crash()
3808 zil_itx_destroy(itx, EIO); in zil_crash()