- rec_len = cfs_size_round((unsigned long)(next - src));
- /* If its size > llog chunk_size, then write current chunk to
- * the update llog. */
- if (lur->lur_hdr.lrh_len + rec_len + LLOG_MIN_REC_SIZE >
- ctxt->loc_chunk_size ||
- param_count == record->lur_update_rec.ur_param_count) {
- lur->lur_update_rec.ur_update_count =
- update_count > last_update_count ?
- update_count - last_update_count : 0;
- lur->lur_update_rec.ur_param_count = param_count -
- last_param_count;
-
- memcpy(&lur->lur_update_rec.ur_ops, start,
- (unsigned long)(src - start));
- if (last_update_count != 0)
- lur->lur_update_rec.ur_flags |=
- UPDATE_RECORD_CONTINUE;
-
- update_records_dump(&lur->lur_update_rec, D_INFO, true);
- lur->lur_hdr.lrh_len = llog_update_record_size(lur);
- LASSERT(lur->lur_hdr.lrh_len <= ctxt->loc_chunk_size);
-
- OBD_ALLOC_PTR(stc);
- if (stc == NULL)
- GOTO(llog_put, rc = -ENOMEM);
- INIT_LIST_HEAD(&stc->stc_list);
-
- rc = llog_add(env, ctxt->loc_handle,
- &lur->lur_hdr,
- &stc->stc_cookie, sub_th->st_sub_th);
-
- CDEBUG(D_INFO, "%s: Add update log "DOSTID":%u"
- " rc = %d\n", dt->dd_lu_dev.ld_obd->obd_name,
- POSTID(&stc->stc_cookie.lgc_lgl.lgl_oi),
- stc->stc_cookie.lgc_index, rc);
-
- if (rc > 0) {
- list_add(&stc->stc_list,
- &sub_th->st_cookie_list);
- rc = 0;
- } else {
- OBD_FREE_PTR(stc);
- GOTO(llog_put, rc);
- }
+ lur->lur_update_rec.ur_update_count = update_count -
+ last_update_count;
+ lur->lur_update_rec.ur_param_count = param_count -
+ last_param_count;
+ memcpy(&lur->lur_update_rec.ur_ops, start, cur - start);
+ lur->lur_hdr.lrh_len = llog_update_record_size(lur);