X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lnet%2Flnet%2Flib-me.c;h=cc36df1f91dd99e75ce8a0693f03c2f75b8790d2;hb=73c12f4d6c98476c0dc5de77a646a157db727eef;hp=8df99176397af9ae44048852dc1f9ab1a509c108;hpb=64a677269f5262702bd0e9c9de7378bd5b256bd0;p=fs%2Flustre-release.git diff --git a/lnet/lnet/lib-me.c b/lnet/lnet/lib-me.c index 8df9917..cc36df1 100644 --- a/lnet/lnet/lib-me.c +++ b/lnet/lnet/lib-me.c @@ -26,6 +26,8 @@ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2012, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -79,7 +81,7 @@ LNetMEAttach(unsigned int portal, { struct lnet_match_table *mtable; struct lnet_me *me; - cfs_list_t *head; + struct list_head *head; LASSERT(the_lnet.ln_init); LASSERT(the_lnet.ln_refcount > 0); @@ -114,9 +116,9 @@ LNetMEAttach(unsigned int portal, me->me_pos = head - &mtable->mt_mhash[0]; if (pos == LNET_INS_AFTER || pos == LNET_INS_LOCAL) - cfs_list_add_tail(&me->me_list, head); + list_add_tail(&me->me_list, head); else - cfs_list_add(&me->me_list, head); + list_add(&me->me_list, head); lnet_me2handle(handle, me); @@ -196,12 +198,12 @@ LNetMEInsert(lnet_handle_me_t current_meh, lnet_res_lh_initialize(the_lnet.ln_me_containers[cpt], &new_me->me_lh); - if (pos == LNET_INS_AFTER) - cfs_list_add(&new_me->me_list, ¤t_me->me_list); - else - cfs_list_add_tail(&new_me->me_list, ¤t_me->me_list); + if (pos == LNET_INS_AFTER) + list_add(&new_me->me_list, ¤t_me->me_list); + else + list_add_tail(&new_me->me_list, ¤t_me->me_list); - lnet_me2handle(handle, new_me); + lnet_me2handle(handle, new_me); lnet_res_unlock(cpt); @@ -243,12 +245,13 @@ LNetMEUnlink(lnet_handle_me_t meh) return -ENOENT; } - md = me->me_md; - if (md != NULL && - md->md_eq != NULL && - md->md_refcount == 0) { - lnet_build_unlink_event(md, &ev); - lnet_eq_enqueue_event(md->md_eq, &ev); + md = me->me_md; + if (md != NULL) { + md->md_flags |= LNET_MD_FLAG_ABORTED; + if (md->md_eq != NULL && md->md_refcount == 0) { + lnet_build_unlink_event(md, &ev); + lnet_eq_enqueue_event(md->md_eq, &ev); + } } lnet_me_unlink(me); @@ -262,7 +265,7 @@ EXPORT_SYMBOL(LNetMEUnlink); void lnet_me_unlink(lnet_me_t *me) { - cfs_list_del(&me->me_list); + list_del(&me->me_list); if (me->me_md != NULL) { lnet_libmd_t *md = me->me_md; @@ -288,8 +291,8 @@ lib_me_dump(lnet_me_t *me) CWARN("\tMD\t= %p\n", me->md); CWARN("\tprev\t= %p\n", - cfs_list_entry(me->me_list.prev, lnet_me_t, me_list)); + list_entry(me->me_list.prev, lnet_me_t, me_list)); CWARN("\tnext\t= %p\n", - cfs_list_entry(me->me_list.next, lnet_me_t, me_list)); + list_entry(me->me_list.next, lnet_me_t, me_list)); } #endif