All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
To: "Eli Dorfman (Voltaire)"
	<dorfman.eli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] infiniband-diags/saquery: Report SA MAD Class specific status.
Date: Sun, 1 Nov 2009 18:52:23 +0200	[thread overview]
Message-ID: <20091101165223.GJ29434@me> (raw)
In-Reply-To: <4AED4241.4000808-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

On 10:09 Sun 01 Nov     , Eli Dorfman (Voltaire) wrote:
> Report SA MAD Class specific status.
> 
> Fixes wrong error report for SA query status.

I agree with patch, but one comment is below.

> 
> Signed-off-by: Eli Dorfman <elid-smomgflXvOZWk0Htik3J/w@public.gmane.org>
> ---
>  infiniband-diags/src/saquery.c |   41 ++++++++++++++++++++++++++++++++++++---
>  1 files changed, 37 insertions(+), 4 deletions(-)
> 
> diff --git a/infiniband-diags/src/saquery.c b/infiniband-diags/src/saquery.c
> index 6c44b63..71823d5 100644
> --- a/infiniband-diags/src/saquery.c
> +++ b/infiniband-diags/src/saquery.c
> @@ -124,6 +124,41 @@ int requested_lid_flag = 0;
>  uint64_t requested_guid = 0;
>  int requested_guid_flag = 0;
>  
> +#define SA_ERR_UNKNOWN IB_SA_MAD_STATUS_PRIO_SUGGESTED
> +
> +const char *ib_sa_error_str[] = {
> +	"SA_NO_ERROR",
> +	"SA_ERR_NO_RESOURCES",
> +	"SA_ERR_REQ_INVALID",
> +	"SA_ERR_NO_RECORDS",
> +	"SA_ERR_TOO_MANY_RECORDS",
> +	"SA_ERR_REQ_INVALID_GID",
> +	"SA_ERR_REQ_INSUFFICIENT_COMPONENTS",
> +	"SA_ERR_REQ_DENIED",
> +	"SA_ERR_STATUS_PRIO_SUGGESTED",
> +	"SA_ERR_UNKNOWN"
> +};
> +
> +static inline const char *ib_sa_err_str(IN uint8_t status)
> +{
> +	if (status > SA_ERR_UNKNOWN)
> +		status = SA_ERR_UNKNOWN;
> +	return (ib_sa_error_str[status]);
> +}
> +
> +static inline void report_err(int status)
> +{
> +	int st = status & 0xff;
> +
> +	if (st)
> +		fprintf(stderr, "ERROR: Query result returned: %s (0x%x)\n",
> +			ib_get_err_str(st), status);
> +	st = status >> 8;
> +	if (st)
> +		fprintf(stderr, "ERROR: Query result returned: %s (0x%x)\n",
> +			ib_sa_err_str(st), status);

Such two identical messages with different error strings seems
confusing to me. Wouldn't it be better to merge it in a single line,
like:

	ERROR: Query result returned 0xNNNN: SM blah1 , SA blah2

(or similar), with making each part optional.

Sasha

> +}
> +
>  static int sa_query(struct bind_handle *h, uint8_t method,
>  		    uint16_t attr, uint32_t mod, uint64_t comp_mask,
>  		    uint64_t sm_key, void *data)
> @@ -794,8 +829,7 @@ static int get_any_records(bind_handle_t h,
>  	}
>  
>  	if (result.status != IB_SUCCESS) {
> -		fprintf(stderr, "Query result returned: %s\n",
> -			ib_get_err_str(result.status));
> +		report_err(result.status);
>  		return result.status;
>  	}
>  
> @@ -1009,8 +1043,7 @@ static int get_print_class_port_info(bind_handle_t h)
>  		return ret;
>  	}
>  	if (result.status != IB_SUCCESS) {
> -		fprintf(stderr, "ERROR: Query result returned: %s\n",
> -			ib_get_err_str(result.status));
> +		report_err(result.status);
>  		return (result.status);
>  	}
>  	dump_results(&result, dump_class_port_info);
> -- 
> 1.5.5
> 
--
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

  parent reply	other threads:[~2009-11-01 16:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-01  8:09 [PATCH] infiniband-diags/saquery: Report SA MAD Class specific status Eli Dorfman (Voltaire)
     [not found] ` <4AED4241.4000808-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-11-01 16:52   ` Sasha Khapyorsky [this message]
2009-11-02  9:22     ` Eli Dorfman (Voltaire)
     [not found]       ` <4AEEA4D6.8070109-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-11-02 12:20         ` Sasha Khapyorsky
2009-11-02  9:40     ` [PATCH v2] " Eli Dorfman (Voltaire)
     [not found]       ` <4AEEA903.4030406-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-11-02 12:25         ` Sasha Khapyorsky

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=20091101165223.GJ29434@me \
    --to=sashak-smomgflxvozwk0htik3j/w@public.gmane.org \
    --cc=dorfman.eli-Re5JQEeQqe8AvxtiuMwx3w@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.