[PATCH 2/3] perf tools: Add procfs support into fs object

From: Jiri Olsa
Date: Mon Nov 04 2013 - 06:06:48 EST


Adding procfs support into fs object.

The interface function:
const char *procfs_find_mountpoint(void);

provides valid mountpoint path for procfs.

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Joe Mario <jmario@xxxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
---
tools/perf/util/fs.c | 16 ++++++++++++++--
tools/perf/util/fs.h | 1 +
tools/perf/util/include/linux/magic.h | 4 ++++
3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/fs.c b/tools/perf/util/fs.c
index 346669a..37b18b7 100644
--- a/tools/perf/util/fs.c
+++ b/tools/perf/util/fs.c
@@ -9,6 +9,11 @@ static const char * const sysfs_known_mountpoints[] = {
0,
};

+static const char * const procfs_known_mountpoints[] = {
+ "/proc",
+ 0,
+};
+
struct perf_fs {
const char *name;
const char * const *mounts;
@@ -18,7 +23,8 @@ struct perf_fs {
};

enum {
- FS_SYSFS = 0,
+ FS_SYSFS = 0,
+ FS_PROCFS = 1,
};

static struct perf_fs fss[] = {
@@ -27,6 +33,11 @@ static struct perf_fs fss[] = {
.mounts = sysfs_known_mountpoints,
.magic = SYSFS_MAGIC,
},
+ [FS_PROCFS] = {
+ .name = "proc",
+ .mounts = procfs_known_mountpoints,
+ .magic = PROC_SUPER_MAGIC,
+ },
};

static bool read_mounts(struct perf_fs *fs)
@@ -104,4 +115,5 @@ const char *name##_find_mountpoint(void) \
return find_mountpoint(idx); \
}

-FIND_MOUNTPOINT(sysfs, FS_SYSFS);
+FIND_MOUNTPOINT(sysfs, FS_SYSFS);
+FIND_MOUNTPOINT(procfs, FS_PROCFS);
diff --git a/tools/perf/util/fs.h b/tools/perf/util/fs.h
index 082edbd..bc6556f 100644
--- a/tools/perf/util/fs.h
+++ b/tools/perf/util/fs.h
@@ -2,5 +2,6 @@
#define __PERF_FS

const char *sysfs_find_mountpoint(void);
+const char *procfs_find_mountpoint(void);

#endif /* __PERF_FS */
diff --git a/tools/perf/util/include/linux/magic.h b/tools/perf/util/include/linux/magic.h
index 58b64ed..07d63cf 100644
--- a/tools/perf/util/include/linux/magic.h
+++ b/tools/perf/util/include/linux/magic.h
@@ -9,4 +9,8 @@
#define SYSFS_MAGIC 0x62656572
#endif

+#ifndef PROC_SUPER_MAGIC
+#define PROC_SUPER_MAGIC 0x9fa0
+#endif
+
#endif
--
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/