Whamcloud - gitweb
b=4922
authorjacob <jacob>
Tue, 9 Nov 2004 18:31:45 +0000 (18:31 +0000)
committerjacob <jacob>
Tue, 9 Nov 2004 18:31:45 +0000 (18:31 +0000)
r=adilger

 - add pid to ldlm debugging output (4922)

lustre/ChangeLog
lustre/include/linux/lustre_dlm.h
lustre/ldlm/ldlm_lock.c

index 95e485a..027fab1 100644 (file)
@@ -8,6 +8,7 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        - reorganization of lov code
        - single portals codebase
        - Infiniband NAL
+       - add pid to ldlm debugging output (4922)
 
 tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.2.8
index 36740b9..8692e5c 100644 (file)
@@ -246,6 +246,8 @@ struct ldlm_lock {
         /* Server-side-only members */
         struct list_head      l_pending_chain;  /* callbacks pending */
         unsigned long         l_callback_timeout;
+
+        __u32                 l_pid;            /* pid which created this lock */
 };
 
 #define LDLM_PLAIN       10
@@ -304,14 +306,15 @@ do {                                                                          \
                 CDEBUG(level, "### " format                                   \
                        " ns: \?\? lock: %p/"LPX64" lrc: %d/%d,%d mode: %s/%s "\
                        "res: \?\? rrc=\?\? type: \?\?\? flags: %x remote: "   \
-                       LPX64" expref: %d\n" , ## a, lock,                     \
+                       LPX64" expref: %d pid: %u\n" , ## a, lock,             \
                        lock->l_handle.h_cookie, atomic_read(&lock->l_refc),   \
                        lock->l_readers, lock->l_writers,                      \
                        ldlm_lockname[lock->l_granted_mode],                   \
                        ldlm_lockname[lock->l_req_mode],                       \
                        lock->l_flags, lock->l_remote_handle.cookie,           \
                        lock->l_export ?                                       \
-                       atomic_read(&lock->l_export->exp_refcount) : -99);     \
+                       atomic_read(&lock->l_export->exp_refcount) : -99,      \
+                       lock->l_pid);                                          \
                 break;                                                        \
         }                                                                     \
         if (lock->l_resource->lr_type == LDLM_EXTENT) {                       \
@@ -319,7 +322,7 @@ do {                                                                          \
                        " ns: %s lock: %p/"LPX64" lrc: %d/%d,%d mode: %s/%s "  \
                        "res: "LPU64"/"LPU64" rrc: %d type: %s ["LPU64"->"LPU64\
                        "] (req "LPU64"->"LPU64") flags: %x remote: "LPX64     \
-                       " expref: %d\n" , ## a,                                \
+                       " expref: %d pid: %u\n" , ## a,                        \
                        lock->l_resource->lr_namespace->ns_name, lock,         \
                        lock->l_handle.h_cookie, atomic_read(&lock->l_refc),   \
                        lock->l_readers, lock->l_writers,                      \
@@ -334,7 +337,8 @@ do {                                                                          \
                        lock->l_req_extent.start, lock->l_req_extent.end,      \
                        lock->l_flags, lock->l_remote_handle.cookie,           \
                        lock->l_export ?                                       \
-                       atomic_read(&lock->l_export->exp_refcount) : -99);     \
+                       atomic_read(&lock->l_export->exp_refcount) : -99,      \
+                       lock->l_pid);                                          \
                 break;                                                        \
         }                                                                     \
         if (lock->l_resource->lr_type == LDLM_FLOCK) {                        \
@@ -342,7 +346,7 @@ do {                                                                          \
                        " ns: %s lock: %p/"LPX64" lrc: %d/%d,%d mode: %s/%s "  \
                        "res: "LPU64"/"LPU64" rrc: %d type: %s pid: %d "       \
                        "["LPU64"->"LPU64"] flags: %x remote: "LPX64           \
-                       " expref: %d\n" , ## a,                                \
+                       " expref: %d pid: %u\n" , ## a,                        \
                        lock->l_resource->lr_namespace->ns_name, lock,         \
                        lock->l_handle.h_cookie, atomic_read(&lock->l_refc),   \
                        lock->l_readers, lock->l_writers,                      \
@@ -357,14 +361,15 @@ do {                                                                          \
                        lock->l_policy_data.l_flock.end,                       \
                        lock->l_flags, lock->l_remote_handle.cookie,           \
                        lock->l_export ?                                       \
-                       atomic_read(&lock->l_export->exp_refcount) : -99);     \
+                       atomic_read(&lock->l_export->exp_refcount) : -99,      \
+                       lock->l_pid);                                          \
                 break;                                                        \
         }                                                                     \
         {                                                                     \
                 CDEBUG(level, "### " format                                   \
                        " ns: %s lock: %p/"LPX64" lrc: %d/%d,%d mode: %s/%s "  \
                        "res: "LPU64"/"LPU64" rrc: %d type: %s flags: %x "     \
-                       "remote: "LPX64" expref: %d\n" , ## a,                 \
+                       "remote: "LPX64" expref: %d pid: %u\n" , ## a,         \
                        lock->l_resource->lr_namespace->ns_name,               \
                        lock, lock->l_handle.h_cookie,                         \
                        atomic_read (&lock->l_refc),                           \
@@ -377,7 +382,8 @@ do {                                                                          \
                        ldlm_typename[lock->l_resource->lr_type],              \
                        lock->l_flags, lock->l_remote_handle.cookie,           \
                        lock->l_export ?                                       \
-                       atomic_read(&lock->l_export->exp_refcount) : -99);     \
+                       atomic_read(&lock->l_export->exp_refcount) : -99,      \
+                       lock->l_pid);                                          \
         }                                                                     \
 } while (0)
 
index 86550e9..f690752 100644 (file)
@@ -753,6 +753,7 @@ struct ldlm_lock *ldlm_lock_create(struct ldlm_namespace *ns,
         lock->l_blocking_ast = blocking;
         lock->l_completion_ast = completion;
         lock->l_glimpse_ast = glimpse;
+        lock->l_pid = current->pid;
 
         if (lvb_len) {
                 lock->l_lvb_len = lvb_len;
@@ -1140,9 +1141,9 @@ void ldlm_lock_dump(int level, struct ldlm_lock *lock, int pos)
                 return;
         }
 
-        CDEBUG(level, "  -- Lock dump: %p/"LPX64" (rc: %d) (pos: %d)\n",
+        CDEBUG(level, "  -- Lock dump: %p/"LPX64" (rc: %d) (pos: %d) (pid: %d)\n",
                lock, lock->l_handle.h_cookie, atomic_read(&lock->l_refc),
-               pos);
+               pos, lock->l_pid);
         if (lock->l_conn_export != NULL)
                 obd = lock->l_conn_export->exp_obd;
         if (lock->l_export && lock->l_export->exp_connection) {