From: Bruno Faccini Date: Thu, 14 Nov 2013 16:20:00 +0000 (+0100) Subject: LU-4194 ldlm: set l_lvb_type coherent when layout is returned X-Git-Tag: 2.5.52~27 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F70%2F8270%2F2;p=fs%2Flustre-release.git LU-4194 ldlm: set l_lvb_type coherent when layout is returned In case layout has been packed into server reply when not requested, lock l_lvb_type must be set accordingly. Signed-off-by: Bruno Faccini Change-Id: Iaf54c9ba27785e529f4f2fb967d2fad4fc1dfbcb Reviewed-on: http://review.whamcloud.com/8270 Tested-by: Jenkins Reviewed-by: Jinshan Xiong Tested-by: Maloo Reviewed-by: Johann Lombardi --- diff --git a/lustre/ldlm/ldlm_lockd.c b/lustre/ldlm/ldlm_lockd.c index 9b9df2b..42c7177 100644 --- a/lustre/ldlm/ldlm_lockd.c +++ b/lustre/ldlm/ldlm_lockd.c @@ -1734,6 +1734,7 @@ static void ldlm_handle_cp_callback(struct ptlrpc_request *req, lock_res_and_lock(lock); LASSERT(lock->l_lvb_data == NULL); + lock->l_lvb_type = LVB_T_LAYOUT; lock->l_lvb_data = lvb_data; lock->l_lvb_len = lvb_len; unlock_res_and_lock(lock); diff --git a/lustre/mdc/mdc_locks.c b/lustre/mdc/mdc_locks.c index c6763b2..63cf4e3 100644 --- a/lustre/mdc/mdc_locks.c +++ b/lustre/mdc/mdc_locks.c @@ -769,6 +769,7 @@ static int mdc_finish_enqueue(struct obd_export *exp, /* install lvb_data */ lock_res_and_lock(lock); if (lock->l_lvb_data == NULL) { + lock->l_lvb_type = LVB_T_LAYOUT; lock->l_lvb_data = lmm; lock->l_lvb_len = lvb_len; lmm = NULL;