Whamcloud - gitweb
This is a debugging patch from LLNL for a rare list walking issue.
authordeen <deen>
Tue, 23 Sep 2008 16:16:25 +0000 (16:16 +0000)
committerdeen <deen>
Tue, 23 Sep 2008 16:16:25 +0000 (16:16 +0000)
b=16206
i=he.huang
i=alexey.lyashkov

lnet/lnet/lib-md.c

index 379ce87..39fa978 100644 (file)
@@ -77,7 +77,8 @@ lnet_md_unlink(lnet_libmd_t *md)
                 LASSERT (md->md_eq->eq_refcount >= 0);
         }
 
-        list_del (&md->md_list);
+        LASSERT (!list_empty(&md->md_list));
+        list_del_init (&md->md_list);
         lnet_md_free(md);
 }
 
@@ -186,6 +187,7 @@ lib_md_build(lnet_libmd_t *lmd, lnet_md_t *umd, int unlink)
 
         /* It's good; let handle2md succeed and add to active mds */
         lnet_initialise_handle (&lmd->md_lh, LNET_COOKIE_TYPE_MD);
+        LASSERT (list_empty(&lmd->md_list));
         list_add (&lmd->md_list, &the_lnet.ln_active_mds);
 
         return 0;