[lustre-devel] [PATCH 05/17] staging: lustre: lnet: keep ln_nportals consistent

Dilger, Andreas andreas.dilger at intel.com
Wed Mar 7 13:24:45 PST 2018


On Mar 1, 2018, at 16:31, NeilBrown <neilb at suse.com> wrote:
> 
> 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 <neilb at suse.com>

Reviewed-by: Andreas Dilger <andreas.dilger at intel.com>

> ---
> drivers/staging/lustre/lnet/lnet/lib-ptl.c |    5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/lustre/lnet/lnet/lib-ptl.c b/drivers/staging/lustre/lnet/lnet/lib-ptl.c
> index 471f2f6c86f4..fc47379c5938 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)) {
> 
> 

Cheers, Andreas
--
Andreas Dilger
Lustre Principal Architect
Intel Corporation









More information about the lustre-devel mailing list