On 12:06 Tue 11 May , Yevgeny Kliteynik wrote:
>
> osm_log() always logs messages that came with OSM_LOG_SYS level,
> so osm_log_is_active() should concur with this.
> As a by-product of this fix, OSM_LOG_SYS messages can now be
> printed with OSM_LOG macro, instead of using osm_log() directly.
>
> Signed-off-by: Yevgeny Kliteynik <[email protected]>
> ---
> opensm/include/opensm/osm_log.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/opensm/include/opensm/osm_log.h b/opensm/include/opensm/osm_log.h
> index b2f105a..a494bc3 100644
> --- a/opensm/include/opensm/osm_log.h
> +++ b/opensm/include/opensm/osm_log.h
> @@ -355,7 +355,7 @@ static inline void osm_log_set_level(IN osm_log_t * p_log,
> static inline boolean_t osm_log_is_active(IN const osm_log_t * p_log,
> IN osm_log_level_t level)
> {
> - return ((p_log->level & level) != 0);
> + return (((OSM_LOG_SYS | p_log->level) & level) != 0);
> }
What about to set OSM_LOG_SYS bits in p_log->level at stage of
initialization and to remove all subsequent explicit checks? Like this
(against master):
diff --git a/opensm/opensm/osm_log.c b/opensm/opensm/osm_log.c
index 54c2f36..bd4a200 100644
--- a/opensm/opensm/osm_log.c
+++ b/opensm/opensm/osm_log.c
@@ -119,7 +119,7 @@ void osm_log(IN osm_log_t * p_log, IN osm_log_level_t
verbosity,
#endif /* __WIN__ */
/* If this is a call to syslog - always print it */
- if (!(verbosity & (OSM_LOG_SYS | p_log->level)))
+ if (!(verbosity & p_log->level))
return;
va_start(args, p_str);
@@ -306,7 +306,7 @@ ib_api_status_t osm_log_init_v2(IN osm_log_t * p_log, IN
boolean_t flush,
IN unsigned long max_size,
IN boolean_t accum_log_file)
{
- p_log->level = log_flags;
+ p_log->level = log_flags | OSM_LOG_SYS;
p_log->flush = flush;
p_log->count = 0;
p_log->max_size = max_size << 20; /* convert size in MB to bytes */
Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html