Whamcloud - gitweb
b=15870
[fs/lustre-release.git] / lnet / lnet / lib-md.c
index 0e8524c..731db56 100644 (file)
@@ -39,12 +39,13 @@ lnet_md_unlink(lnet_libmd_t *md)
                 /* Disassociate from ME (if any), and unlink it if it was created
                  * with LNET_UNLINK */
                 if (me != NULL) {
+                        md->md_me = NULL;
                         me->me_md = NULL;
                         if (me->me_unlink == LNET_UNLINK)
                                 lnet_me_unlink(me);
                 }
 
-                /* emsure all future handle lookups fail */
+                /* ensure all future handle lookups fail */
                 lnet_invalidate_handle(&md->md_lh);
         }
 
@@ -283,7 +284,7 @@ LNetMDUnlink (lnet_handle_md_t mdh)
 
         LASSERT (the_lnet.ln_init);
         LASSERT (the_lnet.ln_refcount > 0);
-        
+
         LNET_LOCK();
 
         md = lnet_handle2md(&mdh);
@@ -298,14 +299,7 @@ LNetMDUnlink (lnet_handle_md_t mdh)
 
         if (md->md_eq != NULL &&
             md->md_refcount == 0) {
-                memset(&ev, 0, sizeof(ev));
-
-                ev.type = LNET_EVENT_UNLINK;
-                ev.status = 0;
-                ev.unlinked = 1;
-                lnet_md_deconstruct(md, &ev.md);
-                lnet_md2handle(&ev.md_handle, md);
-
+                lnet_build_unlink_event(md, &ev);
                 lnet_enq_event_locked(md->md_eq, &ev);
         }