struct seq_update_callback *ccb;
ccb = container_of0(cb, struct seq_update_callback, suc_cb);
ccb->suc_seq->lss_need_sync = 0;
- cfs_list_del(&ccb->suc_cb.dcb_linkage);
OBD_FREE_PTR(ccb);
}
dt_txn_hook_commit(th);
- /* call per-transaction callbacks if any */
- cfs_list_for_each_entry_safe(dcb, tmp, &oh->ot_dcb_list, dcb_linkage)
- dcb->dcb_func(NULL, th, dcb, error);
+ /* call per-transaction callbacks if any */
+ cfs_list_for_each_entry_safe(dcb, tmp, &oh->ot_dcb_list, dcb_linkage) {
+ cfs_list_del_init(&dcb->dcb_linkage);
+ dcb->dcb_func(NULL, th, dcb, error);
+ }
lu_ref_del_at(&lud->ld_reference, oh->ot_dev_link, "osd-tx", th);
lu_device_put(lud);
if (ccb->llcc_transno)
CDEBUG(D_HA, "%s: transno "LPD64" is committed\n",
ccb->llcc_lut->lut_obd->obd_name, ccb->llcc_transno);
- cfs_list_del(&ccb->llcc_cb.dcb_linkage);
OBD_FREE_PTR(ccb);
}
cfs_spin_unlock(&ccb->lncc_exp->exp_lock);
class_export_cb_put(ccb->lncc_exp);
- cfs_list_del(&ccb->lncc_cb.dcb_linkage);
OBD_FREE_PTR(ccb);
}