if ((llh->llh_flags & LLOG_F_ZAP_WHEN_EMPTY))
rc = llog_declare_destroy(env, loghandle, th);
th->th_wait_submit = 1;
rc = dt_trans_start_local(env, dt, th);
if (rc < 0)
GOTO(out_trans, rc);
...
rc = llog_write_rec(env, loghandle, &llh->llh_hdr, NULL,
LLOG_HEADER_IDX, th);
if (rc == 0)
loghandle->lgh_hdr->llh_count--;
else
ext2_set_bit(index, LLOG_HDR_BITMAP(llh));
if ((llh->llh_flags & LLOG_F_ZAP_WHEN_EMPTY) &&
(llh->llh_count == 1) &&
(loghandle->lgh_last_idx == LLOG_HDR_BITMAP_SIZE(llh) - 1)) {
rc = llog_trans_destroy(env, loghandle, th);