diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-12-11 11:17:46 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-12-11 11:17:46 -0500 |
commit | 3a351127cbc682c3a0ae7383c4ff6fd0e8fee83c (patch) | |
tree | 7764be99863cf2d9ca95f0f42336756f0e6dcbb7 /tools | |
parent | 99d348a84c2118ed04c9b72168787f55e2fe33a5 (diff) |
tools lib fs: Adopt filename__read_int from tools/perf/
Will be useful for new helpers to read sysctl values.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/lib/api/fs/fs.c | 21 | ||||
-rw-r--r-- | tools/lib/api/fs/fs.h | 2 | ||||
-rw-r--r-- | tools/perf/util/util.c | 17 | ||||
-rw-r--r-- | tools/perf/util/util.h | 1 |
4 files changed, 23 insertions, 18 deletions
diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c index c1b49c36a951..b8d0df8878d1 100644 --- a/tools/lib/api/fs/fs.c +++ b/tools/lib/api/fs/fs.c | |||
@@ -7,6 +7,10 @@ | |||
7 | #include <stdlib.h> | 7 | #include <stdlib.h> |
8 | #include <string.h> | 8 | #include <string.h> |
9 | #include <sys/vfs.h> | 9 | #include <sys/vfs.h> |
10 | #include <sys/types.h> | ||
11 | #include <sys/stat.h> | ||
12 | #include <fcntl.h> | ||
13 | #include <unistd.h> | ||
10 | 14 | ||
11 | #include "debugfs.h" | 15 | #include "debugfs.h" |
12 | #include "fs.h" | 16 | #include "fs.h" |
@@ -163,3 +167,20 @@ const char *name##__mountpoint(void) \ | |||
163 | 167 | ||
164 | FS__MOUNTPOINT(sysfs, FS__SYSFS); | 168 | FS__MOUNTPOINT(sysfs, FS__SYSFS); |
165 | FS__MOUNTPOINT(procfs, FS__PROCFS); | 169 | FS__MOUNTPOINT(procfs, FS__PROCFS); |
170 | |||
171 | int filename__read_int(const char *filename, int *value) | ||
172 | { | ||
173 | char line[64]; | ||
174 | int fd = open(filename, O_RDONLY), err = -1; | ||
175 | |||
176 | if (fd < 0) | ||
177 | return -1; | ||
178 | |||
179 | if (read(fd, line, sizeof(line)) > 0) { | ||
180 | *value = atoi(line); | ||
181 | err = 0; | ||
182 | } | ||
183 | |||
184 | close(fd); | ||
185 | return err; | ||
186 | } | ||
diff --git a/tools/lib/api/fs/fs.h b/tools/lib/api/fs/fs.h index cb7049551f33..4d0aef6e7163 100644 --- a/tools/lib/api/fs/fs.h +++ b/tools/lib/api/fs/fs.h | |||
@@ -11,4 +11,6 @@ | |||
11 | 11 | ||
12 | const char *sysfs__mountpoint(void); | 12 | const char *sysfs__mountpoint(void); |
13 | const char *procfs__mountpoint(void); | 13 | const char *procfs__mountpoint(void); |
14 | |||
15 | int filename__read_int(const char *filename, int *value); | ||
14 | #endif /* __API_FS__ */ | 16 | #endif /* __API_FS__ */ |
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index d5eab3f3323f..41125e5b011e 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c | |||
@@ -442,23 +442,6 @@ unsigned long parse_tag_value(const char *str, struct parse_tag *tags) | |||
442 | return (unsigned long) -1; | 442 | return (unsigned long) -1; |
443 | } | 443 | } |
444 | 444 | ||
445 | int filename__read_int(const char *filename, int *value) | ||
446 | { | ||
447 | char line[64]; | ||
448 | int fd = open(filename, O_RDONLY), err = -1; | ||
449 | |||
450 | if (fd < 0) | ||
451 | return -1; | ||
452 | |||
453 | if (read(fd, line, sizeof(line)) > 0) { | ||
454 | *value = atoi(line); | ||
455 | err = 0; | ||
456 | } | ||
457 | |||
458 | close(fd); | ||
459 | return err; | ||
460 | } | ||
461 | |||
462 | int filename__read_str(const char *filename, char **buf, size_t *sizep) | 445 | int filename__read_str(const char *filename, char **buf, size_t *sizep) |
463 | { | 446 | { |
464 | size_t size = 0, alloc_size = 0; | 447 | size_t size = 0, alloc_size = 0; |
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index abc445ee4f60..008b361b1758 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h | |||
@@ -343,7 +343,6 @@ char *get_srcline(struct dso *dso, unsigned long addr, struct symbol *sym, | |||
343 | bool show_sym); | 343 | bool show_sym); |
344 | void free_srcline(char *srcline); | 344 | void free_srcline(char *srcline); |
345 | 345 | ||
346 | int filename__read_int(const char *filename, int *value); | ||
347 | int filename__read_str(const char *filename, char **buf, size_t *sizep); | 346 | int filename__read_str(const char *filename, char **buf, size_t *sizep); |
348 | int perf_event_paranoid(void); | 347 | int perf_event_paranoid(void); |
349 | 348 | ||