X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fobdfilter%2Ffilter.c;h=dfb7d2fa4b04507cc341c00eb874c7b1d0a54deb;hp=c3ad008fbff1e935ffb2c721973e45edae73034d;hb=6ad1581bf6003631d87e8365c01c03b06be136de;hpb=25766da50b627648b04549ff3fb55af12acbcb4b diff --git a/lustre/obdfilter/filter.c b/lustre/obdfilter/filter.c index c3ad008..dfb7d2f 100644 --- a/lustre/obdfilter/filter.c +++ b/lustre/obdfilter/filter.c @@ -2408,7 +2408,7 @@ static int filter_llog_finish(struct obd_device *obd, int count) * We actually do sync in disconnect time, but disconnect * may not come being marked rq_no_resend = 1. */ - llog_sync(ctxt, NULL); + llog_sync(ctxt, NULL, OBD_LLOG_FL_EXIT); /* * Balance class_import_get() in llog_receptor_accept(). @@ -2420,16 +2420,16 @@ static int filter_llog_finish(struct obd_device *obd, int count) class_import_put(ctxt->loc_imp); ctxt->loc_imp = NULL; } + + if (filter->fo_lcm) { + llog_recov_thread_fini(filter->fo_lcm, obd->obd_force); + filter->fo_lcm = NULL; + } + cfs_mutex_unlock(&ctxt->loc_mutex); llog_ctxt_put(ctxt); } - if (filter->fo_lcm) { - cfs_mutex_lock(&ctxt->loc_mutex); - llog_recov_thread_fini(filter->fo_lcm, obd->obd_force); - filter->fo_lcm = NULL; - cfs_mutex_unlock(&ctxt->loc_mutex); - } RETURN(filter_olg_fini(&obd->obd_olg)); } @@ -3066,7 +3066,7 @@ static void filter_sync_llogs(struct obd_device *obd, struct obd_export *dexp) ctxt = llog_group_get_ctxt(olg_min, LLOG_MDS_OST_REPL_CTXT); if (ctxt) { - err = llog_sync(ctxt, olg_min->olg_exp); + err = llog_sync(ctxt, olg_min->olg_exp, 0); llog_ctxt_put(ctxt); if (err) { CERROR("error flushing logs to MDS: "