From b7a47fe4740e00ec98d351d3355082b9bdafd932 Mon Sep 17 00:00:00 2001 From: yury Date: Wed, 3 Sep 2008 10:49:50 +0000 Subject: [PATCH] b=16898 r=wangdi,shadow - stop recov thread before llog_cleanup() to release possibly busy ctxt --- lustre/obdfilter/filter.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lustre/obdfilter/filter.c b/lustre/obdfilter/filter.c index 8904b98..d780195 100644 --- a/lustre/obdfilter/filter.c +++ b/lustre/obdfilter/filter.c @@ -2142,19 +2142,22 @@ static int filter_llog_finish(struct obd_device *obd, int count) ctxt->loc_imp = NULL; } mutex_up(&ctxt->loc_sem); - rc = llog_cleanup(ctxt); } - ctxt = llog_get_context(obd, LLOG_SIZE_ORIG_CTXT); - if (ctxt) - rc2 = llog_cleanup(ctxt); - if (!rc) - rc = rc2; if (filter->fo_lcm) { llog_recov_thread_fini(filter->fo_lcm, obd->obd_force); filter->fo_lcm = NULL; } + if (ctxt) + rc = llog_cleanup(ctxt); + + ctxt = llog_get_context(obd, LLOG_SIZE_ORIG_CTXT); + if (ctxt) + rc2 = llog_cleanup(ctxt); + if (!rc) + rc = rc2; + RETURN(rc); } -- 1.8.3.1