Re: [systemd-devel] [PATCH] systemd-bootchart: Prevent closing random file descriptors

2015-03-29 Thread Kay Sievers
On Sun, Mar 29, 2015 at 5:17 PM, Daniel Mack wrote: > On 03/29/2015 03:04 PM, Alexander Sverdlin wrote: >> On 29/03/15 13:44, Daniel Mack wrote: @@ -184,6 +185,7 @@ vmstat_next: > n = pread(schedstat, buf, sizeof(buf) - 1, 0); if (n <= 0) { > close(schedstat); +schedst

Re: [systemd-devel] [PATCH] systemd-bootchart: Prevent closing random file descriptors

2015-03-29 Thread Daniel Mack
Hi Alexander, On 03/29/2015 03:04 PM, Alexander Sverdlin wrote: > On 29/03/15 13:44, Daniel Mack wrote: >>> @@ -184,6 +185,7 @@ vmstat_next: n = pread(schedstat, buf, sizeof(buf) - 1, 0); if (n <= 0) { close(schedstat); +schedstat = 0; >> Note that 0 is a valid file desc

Re: [systemd-devel] [PATCH] systemd-bootchart: Prevent closing random file descriptors

2015-03-29 Thread Alexander Sverdlin
Hello Daniel, On 29/03/15 13:44, Daniel Mack wrote: @@ -184,6 +185,7 @@ vmstat_next: > n = pread(schedstat, buf, sizeof(buf) - 1, 0); > if (n <= 0) { > close(schedstat); >+schedstat = 0; Note that 0 is a valid file descriptor number. You sho

Re: [systemd-devel] [PATCH] systemd-bootchart: Prevent closing random file descriptors

2015-03-29 Thread Daniel Mack
On 03/29/2015 03:13 AM, Alexander Sverdlin wrote: > Fix it by zeroing all the closed descriptors immediately, this would repair > existing caching of open files and clean-up strategy. > > The fix is important even with CONFIG_SCHED_DEBUG option enabled, because very > first failure to open /proc//

[systemd-devel] [PATCH] systemd-bootchart: Prevent closing random file descriptors

2015-03-28 Thread Alexander Sverdlin
If the kernel has no CONFIG_SCHED_DEBUG option set, systemd-bootchart produces empty .svg file. The reason for this is very fragile file descriptor logic in log_sample() and main() (/* do some cleanup, close fd's */ block). There are many places where file descriptors are closed on failure (missin