Lines Matching refs:itx

92  * When running ziltest we want to keep all itx's and so maintain
506 * any pending itx records that have not been cleaned by zil_clean().
1058 zil_lwb_commit(zilog_t *zilog, itx_t *itx, lwb_t *lwb)
1060 lr_t *lrc = &itx->itx_lr; /* common log record */
1072 if (lrc->lrc_txtype == TX_WRITE && itx->itx_wr_state == WR_NEED_COPY)
1106 if (itx->itx_wr_state != WR_COPIED) {
1111 ASSERT(itx->itx_wr_state == WR_NEED_COPY);
1115 ASSERT(itx->itx_wr_state == WR_INDIRECT);
1119 itx->itx_private, lrw, dbuf, lwb->lwb_zio);
1135 * equal to the itx sequence number because not all transactions
1150 itx_t *itx;
1154 itx = kmem_alloc(offsetof(itx_t, itx_lr) + lrsize, KM_SLEEP);
1155 itx->itx_lr.lrc_txtype = txtype;
1156 itx->itx_lr.lrc_reclen = lrsize;
1157 itx->itx_sod = lrsize; /* if write & WR_NEED_COPY will be increased */
1158 itx->itx_lr.lrc_seq = 0; /* defensive */
1159 itx->itx_sync = B_TRUE; /* default is synchronous */
1161 return (itx);
1165 zil_itx_destroy(itx_t *itx)
1167 kmem_free(itx, offsetof(itx_t, itx_lr) + itx->itx_lr.lrc_reclen);
1177 itx_t *itx;
1184 while ((itx = list_head(list)) != NULL) {
1185 list_remove(list, itx);
1186 kmem_free(itx, offsetof(itx_t, itx_lr) +
1187 itx->itx_lr.lrc_reclen);
1194 while ((itx = list_head(list)) != NULL) {
1195 list_remove(list, itx);
1196 kmem_free(itx, offsetof(itx_t, itx_lr) +
1197 itx->itx_lr.lrc_reclen);
1222 * Remove all async itx with the given oid.
1232 itx_t *itx;
1260 while ((itx = list_head(&clean_list)) != NULL) {
1261 list_remove(&clean_list, itx);
1262 kmem_free(itx, offsetof(itx_t, itx_lr) +
1263 itx->itx_lr.lrc_reclen);
1269 zil_itx_assign(zilog_t *zilog, itx_t *itx, dmu_tx_t *tx)
1282 if ((itx->itx_lr.lrc_txtype & ~TX_CI) == TX_REMOVE)
1283 zil_remove_async(zilog, itx->itx_oid);
1288 if ((itx->itx_lr.lrc_txtype & ~TX_CI) == TX_RENAME)
1289 zil_async_to_sync(zilog, itx->itx_oid);
1306 zfs_dbgmsg("zil_itx_assign: missed itx cleanup for "
1322 if (itx->itx_sync) {
1323 list_insert_tail(&itxs->i_sync_list, itx);
1324 atomic_add_64(&zilog->zl_itx_list_sz, itx->itx_sod);
1325 itxg->itxg_sod += itx->itx_sod;
1328 uint64_t foid = ((lr_ooo_t *)&itx->itx_lr)->lr_foid;
1340 list_insert_tail(&ian->ia_list, itx);
1343 itx->itx_lr.lrc_txg = dmu_tx_get_txg(tx);
1420 * If we're adding itx records to the zl_itx_commit_list,
1498 itx_t *itx;
1527 while (itx = list_head(&zilog->zl_itx_commit_list)) {
1528 txg = itx->itx_lr.lrc_txg;
1538 lwb = zil_lwb_commit(zilog, itx, lwb);
1539 list_remove(&zilog->zl_itx_commit_list, itx);
1540 kmem_free(itx, offsetof(itx_t, itx_lr)
1541 + itx->itx_lr.lrc_reclen);
1789 * It's possible for an itx to be generated that doesn't dirty
1838 zil_commit(zilog, 0); /* commit all itx */