On 04-Apr-18 12:27 PM, Arnon Warshavsky wrote:
replace panic calls with log and retrun value.
Signed-off-by: Arnon Warshavsky <ar...@qwilt.com>
---
lib/librte_eal/common/eal_common_memzone.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_memzone.c
b/lib/librte_eal/common/eal_common_memzone.c
index 1ab3ade..fa0a407 100644
--- a/lib/librte_eal/common/eal_common_memzone.c
+++ b/lib/librte_eal/common/eal_common_memzone.c
@@ -314,8 +314,9 @@
if (addr == NULL)
ret = -EINVAL;
else if (mcfg->memzone_cnt == 0) {
- rte_panic("%s(): memzone address not NULL but memzone_cnt is
0!\n",
- __func__);
+ RTE_LOG(CRIT, EAL, "%s(): memzone address not NULL but
memzone_cnt"
+ " is 0!\n", __func__);
+ return -1;
} else {
memset(&mcfg->memzone[idx], 0, sizeof(mcfg->memzone[idx]));
mcfg->memzone_cnt--;
This changes public API. For now, memzone docs mention either return
value of 0, or return value of -EINVAL in case of invalid arguments:
/**
* Free a memzone.
*
* @param mz
* A pointer to the memzone
* @return
* -EINVAL - invalid parameter.
* 0 - success
*/
I'm not sure returning -EINVAL is suitable in this case (the parameter
was valid, but an internal error happened - I can't think of any
suitable errno value off hand), and adding a new return value changes
API, which presumably would require a deprecation notice.
Thomas?
--
Thanks,
Anatoly