From: nikita Date: Wed, 12 Nov 2008 11:16:25 +0000 (+0000) Subject: osc_ldlm_glimpse_ast(): keep lock mutex over glimpse processing, for uniformity with... X-Git-Tag: v1_9_110~35 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=daa8e083063c4dc90012c90782947fa1a4c72629 osc_ldlm_glimpse_ast(): keep lock mutex over glimpse processing, for uniformity with other ASTs. --- diff --git a/lustre/osc/osc_lock.c b/lustre/osc/osc_lock.c index 8fa1fdf..a0e3190 100644 --- a/lustre/osc/osc_lock.c +++ b/lustre/osc/osc_lock.c @@ -814,6 +814,8 @@ static int osc_ldlm_glimpse_ast(struct ldlm_lock *dlmlock, void *data) */ olck = osc_ast_data_get(dlmlock); if (olck != NULL) { + lock = olck->ols_cl.cls_lock; + cl_lock_mutex_get(env, lock); cap = &req->rq_pill; req_capsule_extend(cap, &RQF_LDLM_GL_CALLBACK); req_capsule_set_size(cap, &RMF_DLM_LVB, RCL_SERVER, @@ -821,10 +823,10 @@ static int osc_ldlm_glimpse_ast(struct ldlm_lock *dlmlock, void *data) result = req_capsule_server_pack(cap); if (result == 0) { lvb = req_capsule_server_get(cap, &RMF_DLM_LVB); - lock = olck->ols_cl.cls_lock; obj = lock->cll_descr.cld_obj; result = cl_object_glimpse(env, obj, lvb); } + cl_lock_mutex_put(env, lock); osc_ast_data_put(env, olck); } else { /*