From 9a51c56b4735f4943232099ecf82a760c9636d53 Mon Sep 17 00:00:00 2001 From: Ed Cashin Date: Thu, 17 Mar 2016 20:57:21 -0400 Subject: [PATCH 1/3] AoE target developers cannot tell why out-of-spec 0-bufcnt targets fail --- linux/drivers/block/aoe/aoecmd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/linux/drivers/block/aoe/aoecmd.c b/linux/drivers/block/aoe/aoecmd.c index 3aaf1be..2475f31 100644 --- a/linux/drivers/block/aoe/aoecmd.c +++ b/linux/drivers/block/aoe/aoecmd.c @@ -1653,6 +1653,11 @@ aoecmd_cfg_rsp(struct sk_buff *skb) n = be16_to_cpu(ch->bufcnt); if (n > aoe_maxout) /* keep it reasonable */ n = aoe_maxout; + else if (n == 0) { + pr_warn_ratelimited("aoe: e%ld.%d has zero bufcnt %s\n", + aoemajor, h->minor, "and cannot be used"); + return; + } d = aoedev_by_aoeaddr(aoemajor, h->minor, 1); if (d == NULL) { From 12d243d142b77d9c361793ac00db30980e85e748 Mon Sep 17 00:00:00 2001 From: Ed Cashin Date: Thu, 17 Mar 2016 20:58:29 -0400 Subject: [PATCH 2/3] Update URL to point to OpenAoE project aoe repo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6142823..88fc33c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The version number of this driver is unrelated to the version numbers of Linux kernels. Just use the latest aoe driver with your 2.6 or 3.x Linux kernel. -[This driver is available on github.](https://github.com/ecashin/aoe) +[This driver is available on github.](https://github.com/OpenAoE/aoe) Please see linux/Documentation/aoe.txt for basic information and EtherDrive-2.6-HOWTO.sgml for more. From 5806614e1c3e66a44be4c9e5f6dea5239d7296fc Mon Sep 17 00:00:00 2001 From: Ed Cashin Date: Thu, 17 Mar 2016 21:28:03 -0400 Subject: [PATCH 3/3] Avoid zero congestion window for bufcnt of one --- linux/drivers/block/aoe/aoecmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux/drivers/block/aoe/aoecmd.c b/linux/drivers/block/aoe/aoecmd.c index 2475f31..9ec9db3 100644 --- a/linux/drivers/block/aoe/aoecmd.c +++ b/linux/drivers/block/aoe/aoecmd.c @@ -1550,7 +1550,8 @@ addtgt(struct aoedev *d, char *addr, ulong nframes) memcpy(t->addr, addr, sizeof t->addr); t->ifp = t->ifs; aoecmd_wreset(t); - t->maxout = t->nframes / 2; + if (t->nframes > 1) + t->maxout = t->nframes / 2; INIT_LIST_HEAD(&t->ffree); return *tt = t;