diff options
Diffstat (limited to 'tools/perf/util/sysfs.c')
| -rw-r--r-- | tools/perf/util/sysfs.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/tools/perf/util/sysfs.c b/tools/perf/util/sysfs.c deleted file mode 100644 index f71e9eafe15a..000000000000 --- a/tools/perf/util/sysfs.c +++ /dev/null | |||
| @@ -1,60 +0,0 @@ | |||
| 1 | |||
| 2 | #include "util.h" | ||
| 3 | #include "sysfs.h" | ||
| 4 | |||
| 5 | static const char * const sysfs_known_mountpoints[] = { | ||
| 6 | "/sys", | ||
| 7 | 0, | ||
| 8 | }; | ||
| 9 | |||
| 10 | static int sysfs_found; | ||
| 11 | char sysfs_mountpoint[PATH_MAX + 1]; | ||
| 12 | |||
| 13 | static int sysfs_valid_mountpoint(const char *sysfs) | ||
| 14 | { | ||
| 15 | struct statfs st_fs; | ||
| 16 | |||
| 17 | if (statfs(sysfs, &st_fs) < 0) | ||
| 18 | return -ENOENT; | ||
| 19 | else if (st_fs.f_type != (long) SYSFS_MAGIC) | ||
| 20 | return -ENOENT; | ||
| 21 | |||
| 22 | return 0; | ||
| 23 | } | ||
| 24 | |||
| 25 | const char *sysfs_find_mountpoint(void) | ||
| 26 | { | ||
| 27 | const char * const *ptr; | ||
| 28 | char type[100]; | ||
| 29 | FILE *fp; | ||
| 30 | |||
| 31 | if (sysfs_found) | ||
| 32 | return (const char *) sysfs_mountpoint; | ||
| 33 | |||
| 34 | ptr = sysfs_known_mountpoints; | ||
| 35 | while (*ptr) { | ||
| 36 | if (sysfs_valid_mountpoint(*ptr) == 0) { | ||
| 37 | sysfs_found = 1; | ||
| 38 | strcpy(sysfs_mountpoint, *ptr); | ||
| 39 | return sysfs_mountpoint; | ||
| 40 | } | ||
| 41 | ptr++; | ||
| 42 | } | ||
| 43 | |||
| 44 | /* give up and parse /proc/mounts */ | ||
| 45 | fp = fopen("/proc/mounts", "r"); | ||
| 46 | if (fp == NULL) | ||
| 47 | return NULL; | ||
| 48 | |||
| 49 | while (!sysfs_found && | ||
| 50 | fscanf(fp, "%*s %" STR(PATH_MAX) "s %99s %*s %*d %*d\n", | ||
| 51 | sysfs_mountpoint, type) == 2) { | ||
| 52 | |||
| 53 | if (strcmp(type, "sysfs") == 0) | ||
| 54 | sysfs_found = 1; | ||
| 55 | } | ||
| 56 | |||
| 57 | fclose(fp); | ||
| 58 | |||
| 59 | return sysfs_found ? sysfs_mountpoint : NULL; | ||
| 60 | } | ||
