Re: [PATCH infiniband-diags] libibnetdisc/ibnetdisc.c: improve log information to stdout

Hal Rosenstock
2014-01-25T15:28:18Z

On 1/24/2014 8:20 PM, Weiny, Ira wrote:
>> -----Original Message-----
>> From: Dan Ben Yosef [mailto:danby-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org]
>> Sent: Sunday, January 19, 2014 12:20 AM
>> To: Weiny, Ira
>> Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> Subject: Re: [PATCH infiniband-diags] libibnetdisc/ibnetdisc.c: improve log
>> information to stdout
>>
>> On 15:37 Sun 12 Jan , Weiny, Ira wrote:
>>>> -----Original Message-----
>>>> From: Dan Ben Yosef [mailto:danby-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org]
>>>> Sent: Wednesday, January 01, 2014 10:44 PM
>>>> Subject: [PATCH infiniband-diags] libibnetdisc/ibnetdisc.c: improve
>>>> log information to stdout
>>>>
>>>> Write to stdout the route-path when smp returns with status error.
>>>
>>> As part of a library this will affect many tools outputs and perhaps
>> subsequently any scripts written against those tools.
>>>
>>> Is this really a requirement or simply a "nice to have"?
>> That was a customer request to get the query path to stdout when getting an
>> error.
>>
>> This way when getting smp error they could see DR path to the node in
>> stdout.
>
> I think this is ok,

Doesn't this change the ibnetdiscover output file format when such
errors are encountered ?

If so, what happens in terms of tools which parse this ?

Should IBND_INFO output be prepended with "# " as that would be safer in
terms of sticking within current output file definition and provides
such feature ?

-- Hal

> applied thanks,
> Ira
>
>>
>> -- Dan
>>
>>>
>>> Ira
>>>
>>>>
>>>> Signed-off-by: Dan Ben Yosef <danby-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
>>>> ---
>>>> libibnetdisc/src/internal.h | 10 +++++++---
>>>> libibnetdisc/src/query_smp.c | 6 ++++++
>>>> 2 files changed, 13 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/libibnetdisc/src/internal.h
>>>> b/libibnetdisc/src/internal.h index 1ccd29c..47b2a4c 100644
>>>> --- a/libibnetdisc/src/internal.h
>>>> +++ b/libibnetdisc/src/internal.h
>>>> @@ -42,12 +42,16 @@
>>>> #include <complib/cl_qmap.h>
>>>> #include <glib.h>
>>>>
>>>> +#define IBND_ERROR(fmt, ...) \
>>>> + fprintf(stderr, "%s:%u; " fmt, __FILE__, __LINE__, ##
>>>> __VA_ARGS__)
>>>> +
>>>> +#define IBND_INFO(fmt, ...) \
>>>> + printf("%s:%u; " fmt, __FILE__, __LINE__, ##
>>>> __VA_ARGS__);
>>>> +
>>>> #define IBND_DEBUG(fmt, ...) \
>>>> if (ibdebug) { \
>>>> - printf("%s:%u; " fmt, __FILE__, __LINE__, ##
>>>> __VA_ARGS__); \
>>>> + IBND_INFO(fmt,## __VA_ARGS__); \
>>>> }
>>>> -#define IBND_ERROR(fmt, ...) \
>>>> - fprintf(stderr, "%s:%u; " fmt, __FILE__, __LINE__, ##
>>>> __VA_ARGS__)
>>>>
>>>> /* HASH table defines */
>>>> #define HASHGUID(guid) ((uint32_t)(((uint32_t)(guid) * 101) ^
>>>> ((uint32_t)((guid) >> 32) * 103))) diff --git
>>>> a/libibnetdisc/src/query_smp.c b/libibnetdisc/src/query_smp.c index
>>>> 28620b4..ac4984e 100644
>>>> --- a/libibnetdisc/src/query_smp.c
>>>> +++ b/libibnetdisc/src/query_smp.c
>>>> @@ -192,6 +192,9 @@ static int process_one_recv(smp_engine_t *
>> engine)
>>>> goto error;
>>>>
>>>> if ((status = umad_status(umad))) {
>>>> + IBND_INFO("umad (%s Attr 0x%x:%u) bad status %d; %s\n",
>>>> + portid2str(&smp->path), smp->rpc.attr.id,
>>>> + smp->rpc.attr.mod, status, strerror(status));
>>>> IBND_ERROR("umad (%s Attr 0x%x:%u) bad status %d;
>> %s\n",
>>>> portid2str(&smp->path), smp->rpc.attr.id,
>>>> smp->rpc.attr.mod, status, strerror(status)); @@ -
>>>> 199,6 +202,9 @@ static int process_one_recv(smp_engine_t * engine)
>>>> rc = mlnx_ext_port_info_err(engine, smp, mad,
>>>> smp->cb_data);
>>>> } else if ((status = mad_get_field(mad, 0, IB_DRSMP_STATUS_F))) {
>>>> + IBND_INFO("mad (%s Attr 0x%x:%u) bad status 0x%x\n",
>>>> + portid2str(&smp->path), smp->rpc.attr.id,
>>>> + smp->rpc.attr.mod, status);
>>>> IBND_ERROR("mad (%s Attr 0x%x:%u) bad status 0x%x\n",
>>>> portid2str(&smp->path), smp->rpc.attr.id,
>>>> smp->rpc.attr.mod, status);
>>>> --
>>>> 1.7.1
>>>
>>> --
>>> 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
> --
> 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