Whamcloud - gitweb
Added some debugging support on the server side of the LDLM`
authorpschwan <pschwan>
Thu, 20 Jun 2002 23:39:05 +0000 (23:39 +0000)
committerpschwan <pschwan>
Thu, 20 Jun 2002 23:39:05 +0000 (23:39 +0000)
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c

index 815d3d0..31a6f4b 100644 (file)
@@ -56,9 +56,9 @@ static int ldlm_intent_policy(struct ldlm_lock *lock, void *req_cookie,
                 struct ldlm_namespace *ns = lock->l_resource->lr_namespace;
                 __u32 type = lock->l_resource->lr_type;
                 __u64 new_resid[3] = {0, 0, 0}, old_res;
-                int bufcount, rc, size[3] = {sizeof(struct ldlm_reply),
-                                             sizeof(struct mds_body),
-                                             sizeof(struct obdo)};
+                int bufcount = -1, rc, size[3] = {sizeof(struct ldlm_reply),
+                                                  sizeof(struct mds_body),
+                                                  sizeof(struct obdo)};
 
                 it->opc = NTOH__u64(it->opc);
 
index 8ecb2c9..7df018c 100644 (file)
@@ -120,7 +120,9 @@ static int _ldlm_enqueue(struct obd_device *obddev, struct ptlrpc_service *svc,
                 GOTO(out, err);
 
         lock = lustre_handle2object(&lockh);
-        LDLM_DEBUG(lock, "server-side enqueue handler");
+        memcpy(&lock->l_remote_handle, &dlm_req->lock_handle1,
+               sizeof(lock->l_remote_handle));
+        LDLM_DEBUG(lock, "server-side enqueue handler START");
 
         flags = dlm_req->lock_flags;
         err = ldlm_local_lock_enqueue(&lockh, cookie, cookielen, &flags,
@@ -139,8 +141,6 @@ static int _ldlm_enqueue(struct obd_device *obddev, struct ptlrpc_service *svc,
                 memcpy(dlm_rep->lock_resource_name, lock->l_resource->lr_name,
                        sizeof(dlm_rep->lock_resource_name));
 
-        memcpy(&lock->l_remote_handle, &dlm_req->lock_handle1,
-               sizeof(lock->l_remote_handle));
         lock->l_connection = ptlrpc_connection_addref(req->rq_connection);
         EXIT;
  out:
@@ -152,6 +152,10 @@ static int _ldlm_enqueue(struct obd_device *obddev, struct ptlrpc_service *svc,
 
         if (!err)
                 ldlm_reprocess_all(lock->l_resource);
+        if (err)
+                LDLM_DEBUG_NOLOCK("server-side enqueue handler END");
+        else
+                LDLM_DEBUG(lock, "server-side enqueue handler END");
 
         return 0;
 }
@@ -175,7 +179,7 @@ static int _ldlm_convert(struct ptlrpc_service *svc, struct ptlrpc_request *req)
         dlm_rep->lock_flags = dlm_req->lock_flags;
 
         lock = lustre_handle2object(&dlm_req->lock_handle1);
-        LDLM_DEBUG(lock, "server-side convert handler");
+        LDLM_DEBUG(lock, "server-side convert handler START");
 
         res = ldlm_local_lock_convert(&dlm_req->lock_handle1,
                                       dlm_req->lock_desc.l_req_mode,
@@ -185,6 +189,7 @@ static int _ldlm_convert(struct ptlrpc_service *svc, struct ptlrpc_request *req)
                 LBUG();
 
         ldlm_reprocess_all(res);
+        LDLM_DEBUG(lock, "server-side convert handler END");
 
         RETURN(0);
 }
@@ -205,7 +210,7 @@ static int _ldlm_cancel(struct ptlrpc_service *svc, struct ptlrpc_request *req)
         dlm_req = lustre_msg_buf(req->rq_reqmsg, 0);
 
         lock = lustre_handle2object(&dlm_req->lock_handle1);
-        LDLM_DEBUG(lock, "server-side cancel handler");
+        LDLM_DEBUG(lock, "server-side cancel handler START");
         res = ldlm_local_lock_cancel(lock);
         req->rq_status = 0;
         if (ptlrpc_reply(svc, req) != 0)
@@ -213,6 +218,7 @@ static int _ldlm_cancel(struct ptlrpc_service *svc, struct ptlrpc_request *req)
 
         if (res != NULL)
                 ldlm_reprocess_all(res);
+        LDLM_DEBUG_NOLOCK("server-side cancel handler END");
 
         RETURN(0);
 }