All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hal Rosenstock <hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
To: Line Holen <line.holen-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Cc: Linux-Rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] osm_sa_guidinfo_record.c False duplicate GUID error messages
Date: Thu, 05 Sep 2013 10:18:33 -0400	[thread overview]
Message-ID: <522892B9.2000201@dev.mellanox.co.il> (raw)
In-Reply-To: <6914cb0e-d864-4b06-abb6-59d392de852a@default>

On 9/3/2013 7:30 AM, Line Holen wrote:
> If the same request is received twice then the second one will cause 
> error messages indicating duplicate alias GUIDs. In this case this is 
> a false warning. The second request should be treated as a void and 
> return success to the requester.
> 
> Signed-off-by: Line Holen <Line.Holen-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
> 
> ---
> 
> diff --git a/opensm/osm_sa_guidinfo_record.c b/opensm/osm_sa_guidinfo_record.c
> index 8323b38..cfaf6f3 100644
> --- a/opensm/osm_sa_guidinfo_record.c
> +++ b/opensm/osm_sa_guidinfo_record.c
> @@ -638,6 +638,14 @@ static void set_guidinfo(IN osm_sa_t *sa, IN osm_madw_t *p_madw,
>  		}
>  
>  add_alias_guid:
> +		/* Check whether the port already contain this alias guid
> +		   at this index. If so we're done, continue to next */
> +		if (set_alias_guid == (*p_port->p_physp->p_guids)[i]) {
> +			OSM_LOG(sa->p_log, OSM_LOG_DEBUG,
> +			    "The alias GUID is already correctly assigned, continue\n");
> +			continue;
> +		}
> +

I don't think this handles all the cases properly. Please see modified
patch to follow this.

-- Hal

>  		/* allocate alias guid and add to alias guid table */
>  		p_alias_guid = osm_alias_guid_new(set_alias_guid, p_port);
>  		if (!p_alias_guid) {
> @@ -656,9 +664,12 @@ add_alias_guid:
>  			/* alias GUID is a duplicate */
>  			OSM_LOG(sa->p_log, OSM_LOG_ERROR, "ERR 5108: "
>  				"Duplicate alias port GUID 0x%" PRIx64
> -				" index %d base port GUID 0x%" PRIx64 "\n",
> +				" index %d base port GUID 0x%" PRIx64
> +				", alias GUID already assigned to "
> +				"base port GUID 0x%" PRIx64 "\n",
>  				cl_ntoh64(p_alias_guid->alias_guid), i,
> -				cl_ntoh64(p_alias_guid->p_base_port->guid));
> +				cl_ntoh64(p_alias_guid->p_base_port->guid),
> +				cl_ntoh64(p_alias_guid_check->p_base_port->guid));
>  			osm_alias_guid_delete(&p_alias_guid);
>  			/* clear response guid at index to indicate duplicate */
>  			p_rcvd_rec->guid_info.guid[i % 8] = 0;
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

      reply	other threads:[~2013-09-05 14:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-03 11:30 [PATCH] osm_sa_guidinfo_record.c False duplicate GUID error messages Line Holen
2013-09-05 14:18 ` Hal Rosenstock [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=522892B9.2000201@dev.mellanox.co.il \
    --to=hal-ldsdmyg8hgv8yrgs2mwiifqbs+8scbdb@public.gmane.org \
    --cc=line.holen-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.