*/
list_for_each_entry(req, &client_list, rq_list) {
LASSERT(!req->rq_export->exp_delayed);
- lut_client_epoch_update(&env, lut, req->rq_export);
+ if (!req->rq_export->exp_vbr_failed)
+ lut_client_epoch_update(&env, lut, req->rq_export);
}
/** return list back at once */
spin_lock_bh(&lut->lut_obd->obd_processing_task_lock);
void *data, int err)
{
struct obd_export *exp = data;
-
+ LASSERT(exp->exp_obd == lut->lut_obd);
spin_lock(&lut->lut_translock);
if (transno > lut->lut_obd->obd_last_committed)
lut->lut_obd->obd_last_committed = transno;
LASSERT(exp);
- if (!lut->lut_obd->obd_stopping &&
- transno > exp->exp_last_committed) {
+ if (transno > exp->exp_last_committed) {
exp->exp_last_committed = transno;
spin_unlock(&lut->lut_translock);
ptlrpc_commit_replies(exp);
} else {
spin_unlock(&lut->lut_translock);
}
+ class_export_cb_put(exp);
if (transno)
CDEBUG(D_HA, "%s: transno "LPD64" is committed\n",
lut->lut_obd->obd_name, transno);