void
kpr_upcall (int gw_nalid, ptl_nid_t gw_nid, int alive, time_t when)
{
+ char str[PTL_NALFMT_SIZE];
+
/* May be in arbitrary context */
kpr_upcall_t *u = kmalloc (sizeof (kpr_upcall_t), GFP_ATOMIC);
if (u == NULL) {
- CERROR ("Upcall out of memory: nal %d nid "LPX64" %s\n",
- gw_nalid, gw_nid, alive ? "up" : "down");
+ CERROR ("Upcall out of memory: nal %d nid "LPX64" (%s) %s\n",
+ gw_nalid, gw_nid,
+ portals_nid2str(gw_nalid, gw_nid, str),
+ alive ? "up" : "down");
return;
}
struct timeval now;
struct list_head *e;
struct list_head *n;
+ char str[PTL_NALFMT_SIZE];
CDEBUG (D_NET, "%s notifying [%d] "LPX64": %s\n",
byNal ? "NAL" : "userspace",
if (byNal) {
/* It wasn't userland that notified me... */
- CWARN ("Upcall: NAL %d NID "LPX64" is %s\n",
+ CWARN ("Upcall: NAL %d NID "LPX64" (%s) is %s\n",
gateway_nalid, gateway_nid,
+ portals_nid2str(gateway_nalid, gateway_nid, str),
alive ? "alive" : "dead");
kpr_upcall (gateway_nalid, gateway_nid, alive, when);
} else {
CDEBUG (D_NET, "forward [%p] "LPX64" from NAL %d\n", fwd,
target_nid, src_ne->kpne_interface.kprni_nalid);
- LASSERT (nob >= sizeof (ptl_hdr_t)); /* at least got a packet header */
- LASSERT (nob == lib_iov_nob (fwd->kprfd_niov, fwd->kprfd_iov));
+ LASSERT (nob == lib_kiov_nob (fwd->kprfd_niov, fwd->kprfd_kiov));
atomic_inc (&kpr_queue_depth);
atomic_inc (&src_ne->kpne_refcount); /* source nal is busy until fwd completes */
kpr_fwd_packets++; /* (loose) stats accounting */
- kpr_fwd_bytes += nob;
+ kpr_fwd_bytes += nob + sizeof(ptl_hdr_t);
if (src_ne->kpne_shutdown) /* caller is shutting down */
goto out;
atomic_set (&ge->kpge_weight, 0);
PORTAL_ALLOC (re, sizeof (*re));
- if (re == NULL)
+ if (re == NULL) {
+ PORTAL_FREE (ge, sizeof (*ge));
return (-ENOMEM);
+ }
re->kpre_lo_nid = lo_nid;
re->kpre_hi_nid = hi_nid;