Mercurial > illumos > illumos-gate
changeset 10390:fe2d41eef35a
6872014 it_tgt_create() should first check for existing targets, then check 32-target limit
author | Charles Ting <Charles.Ting@Sun.COM> |
---|---|
date | Thu, 27 Aug 2009 12:59:34 -0400 |
parents | a4669e62bed8 |
children | 12b08c516444 |
files | usr/src/lib/libiscsit/common/libiscsit.c |
diffstat | 1 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/lib/libiscsit/common/libiscsit.c Thu Aug 27 09:42:12 2009 -0700 +++ b/usr/src/lib/libiscsit/common/libiscsit.c Thu Aug 27 12:59:34 2009 -0400 @@ -508,7 +508,6 @@ if (!namep) { /* generate a name */ - ret = it_iqn_generate(buf, sizeof (buf), NULL); if (ret != 0) { return (ret); @@ -521,12 +520,6 @@ } } - /* Too many targets? */ - if (cfg->config_tgt_count >= MAX_TARGETS) { - return (E2BIG); - } - - /* make sure this name isn't already on the list */ cfgtgt = cfg->config_tgt_list; while (cfgtgt != NULL) { @@ -536,6 +529,11 @@ cfgtgt = cfgtgt->tgt_next; } + /* Too many targets? */ + if (cfg->config_tgt_count >= MAX_TARGETS) { + return (E2BIG); + } + ptr = calloc(1, sizeof (it_tgt_t)); if (ptr == NULL) { return (ENOMEM);