From: NeilBrown Date: Thu, 1 Mar 2018 23:31:25 +0000 (+1100) Subject: staging: lustre: lnet: keep ln_nportals consistent X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2e20a07f3b577af0498095193252a8d20489dfc9;p=linux.git staging: lustre: lnet: keep ln_nportals consistent ln_nportals should be zero when no portals have been allocated. This ensures that memory allocation failure is handled correctly elsewhere. Signed-off-by: NeilBrown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lnet/lnet/lib-ptl.c b/drivers/staging/lustre/lnet/lnet/lib-ptl.c index 471f2f6c86f45..fc47379c59383 100644 --- a/drivers/staging/lustre/lnet/lnet/lib-ptl.c +++ b/drivers/staging/lustre/lnet/lnet/lib-ptl.c @@ -841,6 +841,7 @@ lnet_portals_destroy(void) cfs_array_free(the_lnet.ln_portals); the_lnet.ln_portals = NULL; + the_lnet.ln_nportals = 0; } int @@ -851,12 +852,12 @@ lnet_portals_create(void) size = offsetof(struct lnet_portal, ptl_mt_maps[LNET_CPT_NUMBER]); - the_lnet.ln_nportals = MAX_PORTALS; - the_lnet.ln_portals = cfs_array_alloc(the_lnet.ln_nportals, size); + the_lnet.ln_portals = cfs_array_alloc(MAX_PORTALS, size); if (!the_lnet.ln_portals) { CERROR("Failed to allocate portals table\n"); return -ENOMEM; } + the_lnet.ln_nportals = MAX_PORTALS; for (i = 0; i < the_lnet.ln_nportals; i++) { if (lnet_ptl_setup(the_lnet.ln_portals[i], i)) {