* [PATCH 1/3] trace-cmd: Fix tracecmd_recorder leaking file descriptors @ 2019-02-14 14:07 Slavomir Kaslev 2019-02-14 14:07 ` [PATCH 2/3] trace-cmd: Add defines for splice() flags on systems with old glibc Slavomir Kaslev 2019-02-14 14:07 ` [PATCH 3/3] trace-cmd: Removed some unused #includes Slavomir Kaslev 0 siblings, 2 replies; 4+ messages in thread From: Slavomir Kaslev @ 2019-02-14 14:07 UTC (permalink / raw) To: rostedt; +Cc: linux-trace-devel, slavomir.kaslev tracecmd_recorder is leaking brass pipe() file descriptors it creates for splice()-ing. Fix this. Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com> --- lib/trace-cmd/trace-recorder.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/trace-cmd/trace-recorder.c b/lib/trace-cmd/trace-recorder.c index 5331925..b941cdc 100644 --- a/lib/trace-cmd/trace-recorder.c +++ b/lib/trace-cmd/trace-recorder.c @@ -88,6 +88,12 @@ void tracecmd_free_recorder(struct tracecmd_recorder *recorder) append_file(recorder->page_size, recorder->fd1, recorder->fd2); } close: + if (recorder->brass[0] >= 0) + close(recorder->brass[0]); + + if (recorder->brass[1] >= 0) + close(recorder->brass[1]); + if (recorder->trace_fd >= 0) close(recorder->trace_fd); -- 2.19.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] trace-cmd: Add defines for splice() flags on systems with old glibc 2019-02-14 14:07 [PATCH 1/3] trace-cmd: Fix tracecmd_recorder leaking file descriptors Slavomir Kaslev @ 2019-02-14 14:07 ` Slavomir Kaslev 2019-02-14 14:07 ` [PATCH 3/3] trace-cmd: Removed some unused #includes Slavomir Kaslev 1 sibling, 0 replies; 4+ messages in thread From: Slavomir Kaslev @ 2019-02-14 14:07 UTC (permalink / raw) To: rostedt; +Cc: linux-trace-devel, slavomir.kaslev Use SPLICE_F_ defines to refer to splice() flags instead of their numeric values. This should be only necessary on systems with glibc version < 2.5. No changes in behavior intended. Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com> --- lib/trace-cmd/trace-recorder.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/trace-cmd/trace-recorder.c b/lib/trace-cmd/trace-recorder.c index b941cdc..1b6a995 100644 --- a/lib/trace-cmd/trace-recorder.c +++ b/lib/trace-cmd/trace-recorder.c @@ -26,6 +26,13 @@ # define F_GETPIPE_SZ 1032 /* The Linux number for the option */ #endif +#ifndef SPLICE_F_MOVE +# define SPLICE_F_MOVE 1 +# define SPLICE_F_NONBLOCK 2 +# define SPLICE_F_MORE 4 +# define SPLICE_F_GIFT 8 +#endif + struct tracecmd_recorder { int fd; int fd1; @@ -122,10 +129,10 @@ tracecmd_create_buffer_recorder_fd2(int fd, int fd2, int cpu, unsigned flags, recorder->cpu = cpu; recorder->flags = flags; - recorder->fd_flags = 1; /* SPLICE_F_MOVE */ + recorder->fd_flags = SPLICE_F_MOVE; if (!(recorder->flags & TRACECMD_RECORD_BLOCK)) - recorder->fd_flags |= 2; /* and NON_BLOCK */ + recorder->fd_flags |= SPLICE_F_NONBLOCK; /* Init to know what to free and release */ recorder->trace_fd = -1; @@ -349,7 +356,7 @@ static long splice_data(struct tracecmd_recorder *recorder) long ret; read = splice(recorder->trace_fd, NULL, recorder->brass[1], NULL, - recorder->pipe_size, 1 /* SPLICE_F_MOVE */); + recorder->pipe_size, SPLICE_F_MOVE); if (read < 0) { if (errno != EAGAIN && errno != EINTR) { warning("recorder error in splice input"); @@ -421,7 +428,7 @@ static void set_nonblock(struct tracecmd_recorder *recorder) fcntl(recorder->trace_fd, F_SETFL, flags | O_NONBLOCK); /* Do not block on streams for write */ - recorder->fd_flags |= 2; /* NON_BLOCK */ + recorder->fd_flags |= SPLICE_F_NONBLOCK; } long tracecmd_flush_recording(struct tracecmd_recorder *recorder) -- 2.19.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] trace-cmd: Removed some unused #includes 2019-02-14 14:07 [PATCH 1/3] trace-cmd: Fix tracecmd_recorder leaking file descriptors Slavomir Kaslev 2019-02-14 14:07 ` [PATCH 2/3] trace-cmd: Add defines for splice() flags on systems with old glibc Slavomir Kaslev @ 2019-02-14 14:07 ` Slavomir Kaslev 2019-02-14 17:32 ` Steven Rostedt 1 sibling, 1 reply; 4+ messages in thread From: Slavomir Kaslev @ 2019-02-14 14:07 UTC (permalink / raw) To: rostedt; +Cc: linux-trace-devel, slavomir.kaslev This patch removes several unused #include directives. No changes in behaviour intended. Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com> --- lib/trace-cmd/trace-input.c | 9 --------- lib/trace-cmd/trace-recorder.c | 9 +-------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c index b628570..34a8301 100644 --- a/lib/trace-cmd/trace-input.c +++ b/lib/trace-cmd/trace-input.c @@ -4,22 +4,13 @@ * */ #define _LARGEFILE64_SOURCE -#include <dirent.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> -#include <string.h> -#include <getopt.h> -#include <stdarg.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/wait.h> #include <sys/mman.h> -#include <pthread.h> #include <regex.h> #include <fcntl.h> #include <unistd.h> -#include <ctype.h> #include <errno.h> #include <linux/time64.h> diff --git a/lib/trace-cmd/trace-recorder.c b/lib/trace-cmd/trace-recorder.c index 1b6a995..0b8d98a 100644 --- a/lib/trace-cmd/trace-recorder.c +++ b/lib/trace-cmd/trace-recorder.c @@ -4,18 +4,11 @@ * */ #define _LARGEFILE64_SOURCE -#include <dirent.h> #include <stdio.h> #include <stdlib.h> -#include <string.h> -#include <stdarg.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/wait.h> -#include <pthread.h> #include <fcntl.h> +#include <time.h> #include <unistd.h> -#include <ctype.h> #include <errno.h> #include "trace-cmd.h" -- 2.19.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 3/3] trace-cmd: Removed some unused #includes 2019-02-14 14:07 ` [PATCH 3/3] trace-cmd: Removed some unused #includes Slavomir Kaslev @ 2019-02-14 17:32 ` Steven Rostedt 0 siblings, 0 replies; 4+ messages in thread From: Steven Rostedt @ 2019-02-14 17:32 UTC (permalink / raw) To: Slavomir Kaslev; +Cc: linux-trace-devel, slavomir.kaslev On Thu, 14 Feb 2019 16:07:23 +0200 Slavomir Kaslev <kaslevs@vmware.com> wrote: > This patch removes several unused #include directives. > > No changes in behaviour intended. > > Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com> > --- > lib/trace-cmd/trace-input.c | 9 --------- > lib/trace-cmd/trace-recorder.c | 9 +-------- > 2 files changed, 1 insertion(+), 17 deletions(-) > > diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c > index b628570..34a8301 100644 > --- a/lib/trace-cmd/trace-input.c > +++ b/lib/trace-cmd/trace-input.c > @@ -4,22 +4,13 @@ > * > */ > #define _LARGEFILE64_SOURCE > -#include <dirent.h> > #include <stdbool.h> > #include <stdio.h> > #include <stdlib.h> > -#include <string.h> > -#include <getopt.h> > -#include <stdarg.h> > -#include <sys/types.h> > -#include <sys/stat.h> > -#include <sys/wait.h> > #include <sys/mman.h> > -#include <pthread.h> > #include <regex.h> > #include <fcntl.h> > #include <unistd.h> > -#include <ctype.h> > #include <errno.h> > > #include <linux/time64.h> > diff --git a/lib/trace-cmd/trace-recorder.c b/lib/trace-cmd/trace-recorder.c > index 1b6a995..0b8d98a 100644 > --- a/lib/trace-cmd/trace-recorder.c > +++ b/lib/trace-cmd/trace-recorder.c > @@ -4,18 +4,11 @@ > * > */ > #define _LARGEFILE64_SOURCE > -#include <dirent.h> > #include <stdio.h> > #include <stdlib.h> > -#include <string.h> > -#include <stdarg.h> > -#include <sys/types.h> > -#include <sys/stat.h> > -#include <sys/wait.h> > -#include <pthread.h> > #include <fcntl.h> > +#include <time.h> > #include <unistd.h> > -#include <ctype.h> > #include <errno.h> > > #include "trace-cmd.h" Nice cleanup. Just an FYI, even on random patches, it's still good to have a cover email for more than one patch series "[PATCH 0/3]", as it organizes it better in inboxes. BTW, I applied all of these. Thanks Slavomir! -- Steve ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-02-14 17:32 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-02-14 14:07 [PATCH 1/3] trace-cmd: Fix tracecmd_recorder leaking file descriptors Slavomir Kaslev 2019-02-14 14:07 ` [PATCH 2/3] trace-cmd: Add defines for splice() flags on systems with old glibc Slavomir Kaslev 2019-02-14 14:07 ` [PATCH 3/3] trace-cmd: Removed some unused #includes Slavomir Kaslev 2019-02-14 17:32 ` Steven Rostedt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).