diff mbox series

libtracefs: Use tracefs_warning() for tracefs_user_event_record() errors

Message ID 20220222231639.3ccfe44e@rorschach.local.home (mailing list archive)
State New, archived
Headers show
Series libtracefs: Use tracefs_warning() for tracefs_user_event_record() errors | expand

Commit Message

Steven Rostedt Feb. 23, 2022, 4:16 a.m. UTC
From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

Instead of hard coding fprintf() into the library, allow the application
to control the output, and use tracefs_warning() instead.
Also switch the setting of the errno, as tracefs_warning() will
add a perror() to the message.

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 src/tracefs-userevents.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Beau Belgrave Feb. 23, 2022, 5:21 p.m. UTC | #1
On Tue, Feb 22, 2022 at 11:16:39PM -0500, Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> 
> Instead of hard coding fprintf() into the library, allow the application
> to control the output, and use tracefs_warning() instead.
> Also switch the setting of the errno, as tracefs_warning() will
> add a perror() to the message.
> 
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
>  src/tracefs-userevents.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/src/tracefs-userevents.c b/src/tracefs-userevents.c
> index ccd511b3045d..7da6aa35bf12 100644
> --- a/src/tracefs-userevents.c
> +++ b/src/tracefs-userevents.c
> @@ -504,13 +504,13 @@ int tracefs_user_event_record(struct tracefs_user_event *event,
>  	return writev(e->group->fd, head, used);
>  
>  bad_length:
> -	fprintf(stderr, "Bad user_event item length at index %d\n",
> -		used - 1);
>  	errno = EINVAL;
> +	tracefs_warning("Bad user_event item length at index %d\n",
> +		used - 1);
>  	return -1;
>  
>  bad_count:
> -	fprintf(stderr, "Too many user_event items passed\n");
>  	errno = E2BIG;
> +	tracefs_warning("Too many user_event items passed\n");
>  	return -1;
>  }
> -- 
> 2.34.1

I think you may want to fix tracefs-sqlhist.c as well then? I modelled
this type of error/warning off what was being done there :)

Seems like it would do the same thing when tracefs_sql is called and has
a buffer error, etc. in sql_parse_error() and build_filter().

Thanks,
-Beau
Steven Rostedt Feb. 23, 2022, 5:25 p.m. UTC | #2
On Wed, 23 Feb 2022 09:21:19 -0800
Beau Belgrave <beaub@linux.microsoft.com> wrote:

> On Tue, Feb 22, 2022 at 11:16:39PM -0500, Steven Rostedt wrote:
> > From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> > 
> > Instead of hard coding fprintf() into the library, allow the application
> > to control the output, and use tracefs_warning() instead.
> > Also switch the setting of the errno, as tracefs_warning() will
> > add a perror() to the message.
> > 
> > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> > ---
> >  src/tracefs-userevents.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/src/tracefs-userevents.c b/src/tracefs-userevents.c
> > index ccd511b3045d..7da6aa35bf12 100644
> > --- a/src/tracefs-userevents.c
> > +++ b/src/tracefs-userevents.c
> > @@ -504,13 +504,13 @@ int tracefs_user_event_record(struct tracefs_user_event *event,
> >  	return writev(e->group->fd, head, used);
> >  
> >  bad_length:
> > -	fprintf(stderr, "Bad user_event item length at index %d\n",
> > -		used - 1);
> >  	errno = EINVAL;
> > +	tracefs_warning("Bad user_event item length at index %d\n",
> > +		used - 1);
> >  	return -1;
> >  
> >  bad_count:
> > -	fprintf(stderr, "Too many user_event items passed\n");
> >  	errno = E2BIG;
> > +	tracefs_warning("Too many user_event items passed\n");
> >  	return -1;
> >  }
> > -- 
> > 2.34.1  
> 
> I think you may want to fix tracefs-sqlhist.c as well then? I modelled
> this type of error/warning off what was being done there :)

You mean like this? ;-)

  https://lore.kernel.org/all/20220222232045.129e3b6c@rorschach.local.home/

-- Steve

> 
> Seems like it would do the same thing when tracefs_sql is called and has
> a buffer error, etc. in sql_parse_error() and build_filter().
Beau Belgrave Feb. 23, 2022, 5:27 p.m. UTC | #3
On Wed, Feb 23, 2022 at 12:25:23PM -0500, Steven Rostedt wrote:
> On Wed, 23 Feb 2022 09:21:19 -0800
> Beau Belgrave <beaub@linux.microsoft.com> wrote:
> 
> > On Tue, Feb 22, 2022 at 11:16:39PM -0500, Steven Rostedt wrote:
> > > From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> > > 
> > > Instead of hard coding fprintf() into the library, allow the application
> > > to control the output, and use tracefs_warning() instead.
> > > Also switch the setting of the errno, as tracefs_warning() will
> > > add a perror() to the message.
> > > 
> > > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> > > ---
> > >  src/tracefs-userevents.c | 6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/src/tracefs-userevents.c b/src/tracefs-userevents.c
> > > index ccd511b3045d..7da6aa35bf12 100644
> > > --- a/src/tracefs-userevents.c
> > > +++ b/src/tracefs-userevents.c
> > > @@ -504,13 +504,13 @@ int tracefs_user_event_record(struct tracefs_user_event *event,
> > >  	return writev(e->group->fd, head, used);
> > >  
> > >  bad_length:
> > > -	fprintf(stderr, "Bad user_event item length at index %d\n",
> > > -		used - 1);
> > >  	errno = EINVAL;
> > > +	tracefs_warning("Bad user_event item length at index %d\n",
> > > +		used - 1);
> > >  	return -1;
> > >  
> > >  bad_count:
> > > -	fprintf(stderr, "Too many user_event items passed\n");
> > >  	errno = E2BIG;
> > > +	tracefs_warning("Too many user_event items passed\n");
> > >  	return -1;
> > >  }
> > > -- 
> > > 2.34.1  
> > 
> > I think you may want to fix tracefs-sqlhist.c as well then? I modelled
> > this type of error/warning off what was being done there :)
> 
> You mean like this? ;-)
> 
>   https://lore.kernel.org/all/20220222232045.129e3b6c@rorschach.local.home/
> 
> -- Steve

Lol, yep, exactly like that.

-Beau
diff mbox series

Patch

diff --git a/src/tracefs-userevents.c b/src/tracefs-userevents.c
index ccd511b3045d..7da6aa35bf12 100644
--- a/src/tracefs-userevents.c
+++ b/src/tracefs-userevents.c
@@ -504,13 +504,13 @@  int tracefs_user_event_record(struct tracefs_user_event *event,
 	return writev(e->group->fd, head, used);
 
 bad_length:
-	fprintf(stderr, "Bad user_event item length at index %d\n",
-		used - 1);
 	errno = EINVAL;
+	tracefs_warning("Bad user_event item length at index %d\n",
+		used - 1);
 	return -1;
 
 bad_count:
-	fprintf(stderr, "Too many user_event items passed\n");
 	errno = E2BIG;
+	tracefs_warning("Too many user_event items passed\n");
 	return -1;
 }