Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9e74a67
)
osc_ldlm_glimpse_ast(): keep lock mutex over glimpse processing, for uniformity with...
author
nikita
<nikita>
Wed, 12 Nov 2008 11:16:25 +0000
(11:16 +0000)
committer
nikita
<nikita>
Wed, 12 Nov 2008 11:16:25 +0000
(11:16 +0000)
lustre/osc/osc_lock.c
patch
|
blob
|
history
diff --git
a/lustre/osc/osc_lock.c
b/lustre/osc/osc_lock.c
index
8fa1fdf
..
a0e3190
100644
(file)
--- 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) {
*/
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,
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);
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);
}
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 {
/*
osc_ast_data_put(env, olck);
} else {
/*