Whamcloud - gitweb
LU-4194 ldlm: set l_lvb_type coherent when layout is returned 70/8270/2
authorBruno Faccini <bruno.faccini@intel.com>
Thu, 14 Nov 2013 16:20:00 +0000 (17:20 +0100)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 2 Dec 2013 12:06:42 +0000 (12:06 +0000)
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 <bruno.faccini@intel.com>
Change-Id: Iaf54c9ba27785e529f4f2fb967d2fad4fc1dfbcb
Reviewed-on: http://review.whamcloud.com/8270
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
lustre/ldlm/ldlm_lockd.c
lustre/mdc/mdc_locks.c

index 9b9df2b..42c7177 100644 (file)
@@ -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);
index c6763b2..63cf4e3 100644 (file)
@@ -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;