X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lnet%2Flnet%2Flo.c;h=31e2b667d09e187d66216a9004223614a77ea315;hp=e27270b40b1cb8bad5fed8f4d9f4842ff57809d7;hb=e65d8ba583858ae10f2d53fd270b19d13e423634;hpb=0f8dca08a4f68cba82c2c822998ecc309d3b7aaf diff --git a/lnet/lnet/lo.c b/lnet/lnet/lo.c index e27270b..31e2b66 100644 --- a/lnet/lnet/lo.c +++ b/lnet/lnet/lo.c @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -17,17 +15,15 @@ * * You should have received a copy of the GNU General Public License * version 2 along with this program; If not, see - * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * http://www.gnu.org/licenses/gpl-2.0.html * * GPL HEADER END */ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2017, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -37,90 +33,61 @@ #define DEBUG_SUBSYSTEM S_LNET #include -int -lolnd_send (lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg) +static int +lolnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg) { - LASSERT (!lntmsg->msg_routing); - LASSERT (!lntmsg->msg_target_is_router); - - return lnet_parse(ni, &lntmsg->msg_hdr, ni->ni_nid, lntmsg, 0); + LASSERT(!lntmsg->msg_routing); + LASSERT(!lntmsg->msg_target_is_router); + + return lnet_parse(ni, &lntmsg->msg_hdr, ni->ni_nid, lntmsg, 0); } -int -lolnd_recv (lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg, - int delayed, unsigned int niov, - struct iovec *iov, lnet_kiov_t *kiov, - unsigned int offset, unsigned int mlen, unsigned int rlen) +static int +lolnd_recv(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg, + int delayed, unsigned int niov, + struct bio_vec *kiov, + unsigned int offset, unsigned int mlen, unsigned int rlen) { - lnet_msg_t *sendmsg = private; + struct lnet_msg *sendmsg = private; + + if (lntmsg) { /* not discarding */ + lnet_copy_kiov2kiov(niov, kiov, offset, + sendmsg->msg_niov, + sendmsg->msg_kiov, + sendmsg->msg_offset, mlen); - if (lntmsg != NULL) { /* not discarding */ - if (sendmsg->msg_iov != NULL) { - if (iov != NULL) - lnet_copy_iov2iov(niov, iov, offset, - sendmsg->msg_niov, - sendmsg->msg_iov, - sendmsg->msg_offset, mlen); - else - lnet_copy_iov2kiov(niov, kiov, offset, - sendmsg->msg_niov, - sendmsg->msg_iov, - sendmsg->msg_offset, mlen); - } else { - if (iov != NULL) - lnet_copy_kiov2iov(niov, iov, offset, - sendmsg->msg_niov, - sendmsg->msg_kiov, - sendmsg->msg_offset, mlen); - else - lnet_copy_kiov2kiov(niov, kiov, offset, - sendmsg->msg_niov, - sendmsg->msg_kiov, - sendmsg->msg_offset, mlen); - } + lnet_finalize(lntmsg, 0); + } - lnet_finalize(ni, lntmsg, 0); - } - - lnet_finalize(ni, sendmsg, 0); - return 0; + lnet_finalize(sendmsg, 0); + return 0; } static int lolnd_instanced; -void -lolnd_shutdown(lnet_ni_t *ni) +static void +lolnd_shutdown(struct lnet_ni *ni) { CDEBUG (D_NET, "shutdown\n"); - LASSERT (lolnd_instanced); - - lolnd_instanced = 0; + LASSERT(lolnd_instanced); + + lolnd_instanced = 0; } -int -lolnd_startup (lnet_ni_t *ni) +static int +lolnd_startup(struct lnet_ni *ni) { - LASSERT (ni->ni_lnd == &the_lolnd); + LASSERT (ni->ni_net->net_lnd == &the_lolnd); LASSERT (!lolnd_instanced); - lolnd_instanced = 1; + lolnd_instanced = 1; return (0); } -lnd_t the_lolnd = { - /* .lnd_list = */ {&the_lolnd.lnd_list, &the_lolnd.lnd_list}, - /* .lnd_refcount = */ 0, - /* .lnd_type = */ LOLND, - /* .lnd_startup = */ lolnd_startup, - /* .lnd_shutdown = */ lolnd_shutdown, - /* .lnt_ctl = */ NULL, - /* .lnd_send = */ lolnd_send, - /* .lnd_recv = */ lolnd_recv, - /* .lnd_eager_recv = */ NULL, - /* .lnd_notify = */ NULL, -#ifdef __KERNEL__ - /* .lnd_accept = */ NULL -#else - /* .lnd_wait = */ NULL -#endif +const struct lnet_lnd the_lolnd = { + .lnd_type = LOLND, + .lnd_startup = lolnd_startup, + .lnd_shutdown = lolnd_shutdown, + .lnd_send = lolnd_send, + .lnd_recv = lolnd_recv };