mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 2.6.16-rc2-git2-gkh] aoe [1/3]: support multiple AoE listeners
@ 2006-02-07 16:26 Ed L. Cashin
  0 siblings, 0 replies; only message in thread
From: Ed L. Cashin @ 2006-02-07 16:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: ecashin, Greg K-H

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>

Always clone incoming skbs, allowing other AoE listeners
to exist in the kernel.

diff -upr 2.6.16-rc2-git2-gkh-orig/drivers/block/aoe/aoenet.c 2.6.16-rc2-git2-gkh-aoe/drivers/block/aoe/aoenet.c
--- 2.6.16-rc2-git2-gkh-orig/drivers/block/aoe/aoenet.c	2006-02-06 17:41:05.000000000 -0500
+++ 2.6.16-rc2-git2-gkh-aoe/drivers/block/aoe/aoenet.c	2006-02-06 17:56:59.000000000 -0500
@@ -92,18 +92,6 @@ mac_addr(char addr[6])
 	return __be64_to_cpu(n);
 }
 
-static struct sk_buff *
-skb_check(struct sk_buff *skb)
-{
-	if (skb_is_nonlinear(skb))
-	if ((skb = skb_share_check(skb, GFP_ATOMIC)))
-	if (skb_linearize(skb, GFP_ATOMIC) < 0) {
-		dev_kfree_skb(skb);
-		return NULL;
-	}
-	return skb;
-}
-
 void
 aoenet_xmit(struct sk_buff *sl)
 {
@@ -125,14 +113,14 @@ aoenet_rcv(struct sk_buff *skb, struct n
 	struct aoe_hdr *h;
 	u32 n;
 
-	skb = skb_check(skb);
-	if (!skb)
+	skb = skb_share_check(skb, GFP_ATOMIC);
+	if (skb == NULL)
 		return 0;
-
+	if (skb_is_nonlinear(skb))
+	if (skb_linearize(skb, GFP_ATOMIC) < 0)
+		goto exit;
 	if (!is_aoe_netif(ifp))
 		goto exit;
-
-	//skb->len += ETH_HLEN;	/* (1) */
 	skb_push(skb, ETH_HLEN);	/* (1) */
 
 	h = (struct aoe_hdr *) skb->mac.raw;


-- 
  "Ed L. Cashin" <ecashin@coraid.com>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-02-07 16:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-07 16:26 [PATCH 2.6.16-rc2-git2-gkh] aoe [1/3]: support multiple AoE listeners Ed L. Cashin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome