diff options
author | Ed L. Cashin <ecashin@coraid.com> | 2008-02-08 04:20:09 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 09:22:32 -0800 |
commit | 578c4aa0b455a1850208ccc67ca1ca23697e72f5 (patch) | |
tree | 5f5fc92ff4b7ab066191d4c3c2a7f25adaf1a9e9 /drivers/block | |
parent | 1d75981a8094e9f84fae65a6a83b361e3893b971 (diff) |
aoe: make error messages more specific
Andrew Morton pointed out that the "too many targets" message in patch 2 could
be printed for failing GFP_ATOMIC allocations. This patch makes the messages
more specific.
Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/aoe/aoecmd.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index bcea36c87d04..1e37cf6d9214 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c @@ -957,15 +957,17 @@ addtgt(struct aoedev *d, char *addr, ulong nframes) for (; tt < te && *tt; tt++) ; - if (tt == te) + if (tt == te) { + printk(KERN_INFO + "aoe: device addtgt failure; too many targets\n"); return NULL; - + } t = kcalloc(1, sizeof *t, GFP_ATOMIC); - if (!t) - return NULL; f = kcalloc(nframes, sizeof *f, GFP_ATOMIC); - if (!f) { + if (!t || !f) { + kfree(f); kfree(t); + printk(KERN_INFO "aoe: cannot allocate memory to add target\n"); return NULL; } @@ -1029,9 +1031,6 @@ aoecmd_cfg_rsp(struct sk_buff *skb) if (!t) { t = addtgt(d, h->src, n); if (!t) { - printk(KERN_INFO - "aoe: device addtgt failure; " - "too many targets?\n"); spin_unlock_irqrestore(&d->lock, flags); return; } |