[Cluster-devel] last element of dlm_local_addr[] never used?

David Teigland teigland at redhat.com
Wed Mar 21 14:17:29 UTC 2012


On Wed, Mar 21, 2012 at 12:24:35PM +0300, Dan Carpenter wrote:
> In fs/dlm/lowcomms.c we declare the dlm_local_addr[] array like
> this:
> static struct sockaddr_storage *dlm_local_addr[DLM_MAX_ADDR_COUNT];
> 
> But it looks like the last element of the array is never used:
> 
>   1072  /* Get local addresses */
>   1073  static void init_local(void)
>   1074  {
>   1075          struct sockaddr_storage sas, *addr;
>   1076          int i;
>   1077  
>   1078          dlm_local_count = 0;
>   1079          for (i = 0; i < DLM_MAX_ADDR_COUNT - 1; i++) {
>                                 ^^^^^^^^^^^^^^^^^^^^^^
>   1080                  if (dlm_our_addr(&sas, i))
>   1081                          break;
>   1082  
>   1083                  addr = kmalloc(sizeof(*addr), GFP_NOFS);
>   1084                  if (!addr)
>   1085                          break;
>   1086                  memcpy(addr, &sas, sizeof(*addr));
>   1087                  dlm_local_addr[dlm_local_count++] = addr;
>   1088          }
>   1089  }
> 
> There isn't anywhere else we use it either.  It's not harmful to
> leave the last element unused but I wondered if it was intentional.

config.c properly supports the max, so we should just remove the -1.
I'll add a patch.
Thanks,
Dave




More information about the Cluster-devel mailing list