[ovs-dev] [PATCH] cfm: Log fault status changes more informatively.
Ben Pfaff
blp at nicira.com
Thu Apr 26 21:03:57 UTC 2012
Thanks, I pushed this.
On Wed, Apr 25, 2012 at 06:22:21PM -0700, Ethan Jackson wrote:
> Looks good, thanks.
>
> Ethan
>
> On Fri, Apr 20, 2012 at 14:53, Ben Pfaff <blp at nicira.com> wrote:
> > Until now, fault status changes just log the new status. This means that
> > the administrator has to find two consecutive status change messages to
> > see what actually changed.
> >
> > This commit changes the log message format to prefix new faults with '+'
> > and faults that disappeared with '-'. Existing faults that are still
> > present are not prefixed.
> >
> > This also simplifies the code a little by making ds_put_cfm_fault()
> > put spaces before fault names instead of after.
> >
> > Signed-off-by: Ben Pfaff <blp at nicira.com>
> > ---
> > lib/cfm.c | 30 +++++++++++++++---------------
> > 1 files changed, 15 insertions(+), 15 deletions(-)
> >
> > diff --git a/lib/cfm.c b/lib/cfm.c
> > index d0ae55d..66bca75 100644
> > --- a/lib/cfm.c
> > +++ b/lib/cfm.c
> > @@ -1,5 +1,5 @@
> > /*
> > - * Copyright (c) 2010, 2011 Nicira Networks.
> > + * Copyright (c) 2010, 2011, 2012 Nicira Networks.
> > *
> > * Licensed under the Apache License, Version 2.0 (the "License");
> > * you may not use this file except in compliance with the License.
> > @@ -159,22 +159,21 @@ cfm_fault_reason_to_str(int reason) {
> > }
> >
> > static void
> > -ds_put_cfm_fault(struct ds *ds, int fault)
> > +ds_put_cfm_fault(struct ds *ds, int old_fault, int new_fault)
> > {
> > - size_t length = ds->length;
> > int i;
> >
> > for (i = 0; i < CFM_FAULT_N_REASONS; i++) {
> > int reason = 1 << i;
> >
> > - if (fault & reason) {
> > - ds_put_format(ds, "%s ", cfm_fault_reason_to_str(reason));
> > + if ((old_fault | new_fault) & reason) {
> > + ds_put_format(ds, " %s%s",
> > + (!(old_fault & reason) ? "+"
> > + : !(new_fault & reason) ? "-"
> > + : ""),
> > + cfm_fault_reason_to_str(reason));
> > }
> > }
> > -
> > - if (ds->length > length) {
> > - ds_truncate(ds, ds->length - 1);
> > - }
> > }
> >
> > static void
> > @@ -398,8 +397,8 @@ cfm_run(struct cfm *cfm)
> > if (old_cfm_fault != cfm->fault) {
> > struct ds ds = DS_EMPTY_INITIALIZER;
> >
> > - ds_put_cfm_fault(&ds, cfm->fault);
> > - VLOG_INFO_RL(&rl, "%s: CFM fault status changed: %s", cfm->name,
> > + ds_put_cfm_fault(&ds, old_cfm_fault, cfm->fault);
> > + VLOG_INFO_RL(&rl, "%s: CFM fault status changed:%s", cfm->name,
> > ds_cstr_ro(&ds));
> > ds_destroy(&ds);
> > }
> > @@ -702,16 +701,17 @@ static void
> > cfm_print_details(struct ds *ds, const struct cfm *cfm)
> > {
> > struct remote_mp *rmp;
> > + int fault;
> >
> > ds_put_format(ds, "---- %s ----\n", cfm->name);
> > ds_put_format(ds, "MPID %"PRIu64":%s%s\n", cfm->mpid,
> > cfm->extended ? " extended" : "",
> > cfm->fault_override >= 0 ? " fault_override" : "");
> >
> > -
> > - if (cfm_get_fault(cfm)) {
> > - ds_put_cstr(ds, "\tfault: ");
> > - ds_put_cfm_fault(ds, cfm_get_fault(cfm));
> > + fault = cfm_get_fault(cfm);
> > + if (fault) {
> > + ds_put_cstr(ds, "\tfault:");
> > + ds_put_cfm_fault(ds, fault, fault);
> > ds_put_cstr(ds, "\n");
> > }
> >
> > --
> > 1.7.2.5
> >
> > _______________________________________________
> > dev mailing list
> > dev at openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list