From cf9971915b55d51b6f186f4a2b5a12596d8bf675 Mon Sep 17 00:00:00 2001 From: Bruno Faccini Date: Thu, 14 Nov 2013 17:20:00 +0100 Subject: [PATCH] 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 --- lustre/ldlm/ldlm_lockd.c | 1 + lustre/mdc/mdc_locks.c | 1 + 2 files changed, 2 insertions(+) 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; -- 1.8.3.1