From 558258abc61c76f9e4de1604c36ed64ad9e87b04 Mon Sep 17 00:00:00 2001 From: phil Date: Sun, 21 Dec 2003 07:51:42 +0000 Subject: [PATCH] Make the namespace/resource/lock dumping somewhat more compact, so that less log space is wasted, and it's easier to visually scan. --- lustre/ldlm/ldlm_lock.c | 5 +++-- lustre/ldlm/ldlm_lockd.c | 1 - lustre/ldlm/ldlm_resource.c | 45 ++++++++++++++++++++++++--------------------- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/lustre/ldlm/ldlm_lock.c b/lustre/ldlm/ldlm_lock.c index 3d52c40..669f9e7 100644 --- a/lustre/ldlm/ldlm_lock.c +++ b/lustre/ldlm/ldlm_lock.c @@ -1078,8 +1078,9 @@ void ldlm_lock_dump(int level, struct ldlm_lock *lock, int pos) lock->l_version[0], lock->l_version[1], lock->l_version[2], lock->l_version[3]); - CDEBUG(level, " -- Lock dump: %p (%s) (rc: %d) (pos: %d)\n", lock, ver, - atomic_read(&lock->l_refc), pos); + CDEBUG(level, " -- Lock dump: %p/"LPX64" (%s) (rc: %d) (pos: %d)\n", + lock, lock->l_handle.h_cookie, ver, atomic_read(&lock->l_refc), + pos); if (lock->l_conn_export != NULL) obd = lock->l_conn_export->exp_obd; if (lock->l_export && lock->l_export->exp_connection) { diff --git a/lustre/ldlm/ldlm_lockd.c b/lustre/ldlm/ldlm_lockd.c index d6a4618..95cb950 100644 --- a/lustre/ldlm/ldlm_lockd.c +++ b/lustre/ldlm/ldlm_lockd.c @@ -1352,7 +1352,6 @@ EXPORT_SYMBOL(ldlm_regression_stop); EXPORT_SYMBOL(ldlm_namespace_new); EXPORT_SYMBOL(ldlm_namespace_cleanup); EXPORT_SYMBOL(ldlm_namespace_free); -EXPORT_SYMBOL(ldlm_namespace_dump); /* l_lock.c */ EXPORT_SYMBOL(l_lock); diff --git a/lustre/ldlm/ldlm_resource.c b/lustre/ldlm/ldlm_resource.c index 4a5f5e6..ab36d71 100644 --- a/lustre/ldlm/ldlm_resource.c +++ b/lustre/ldlm/ldlm_resource.c @@ -674,29 +674,32 @@ void ldlm_resource_dump(struct ldlm_resource *res) ") (rc: %d)\n", res, res->lr_name.name[0], res->lr_name.name[1], res->lr_name.name[2], res->lr_name.name[3], atomic_read(&res->lr_refcount)); - CDEBUG(D_OTHER, "Namespace: %p (%s)\n", res->lr_namespace, - res->lr_namespace->ns_name); - CDEBUG(D_OTHER, "Parent: %p, root: %p\n", res->lr_parent, res->lr_root); - CDEBUG(D_OTHER, "Granted locks:\n"); - pos = 0; - list_for_each(tmp, &res->lr_granted) { - struct ldlm_lock *lock; - lock = list_entry(tmp, struct ldlm_lock, l_res_link); - ldlm_lock_dump(D_OTHER, lock, ++pos); + if (!list_empty(&res->lr_granted)) { + pos = 0; + CDEBUG(D_OTHER, "Granted locks:\n"); + list_for_each(tmp, &res->lr_granted) { + struct ldlm_lock *lock; + lock = list_entry(tmp, struct ldlm_lock, l_res_link); + ldlm_lock_dump(D_OTHER, lock, ++pos); + } } - pos = 0; - CDEBUG(D_OTHER, "Converting locks:\n"); - list_for_each(tmp, &res->lr_converting) { - struct ldlm_lock *lock; - lock = list_entry(tmp, struct ldlm_lock, l_res_link); - ldlm_lock_dump(D_OTHER, lock, ++pos); + if (!list_empty(&res->lr_converting)) { + pos = 0; + CDEBUG(D_OTHER, "Converting locks:\n"); + list_for_each(tmp, &res->lr_converting) { + struct ldlm_lock *lock; + lock = list_entry(tmp, struct ldlm_lock, l_res_link); + ldlm_lock_dump(D_OTHER, lock, ++pos); + } } - pos = 0; - CDEBUG(D_OTHER, "Waiting locks:\n"); - list_for_each(tmp, &res->lr_waiting) { - struct ldlm_lock *lock; - lock = list_entry(tmp, struct ldlm_lock, l_res_link); - ldlm_lock_dump(D_OTHER, lock, ++pos); + if (!list_empty(&res->lr_waiting)) { + pos = 0; + CDEBUG(D_OTHER, "Waiting locks:\n"); + list_for_each(tmp, &res->lr_waiting) { + struct ldlm_lock *lock; + lock = list_entry(tmp, struct ldlm_lock, l_res_link); + ldlm_lock_dump(D_OTHER, lock, ++pos); + } } } -- 1.8.3.1