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 <jo...@redhat.com>
Cc: Adrian Hunter <adrian.hun...@intel.com>
Cc: Corey Ashford <cjash...@linux.vnet.ibm.com>
Cc: David Ahern <dsah...@gmail.com>
Cc: Frederic Weisbecker <fweis...@gmail.com>
Cc: Ingo Molnar <mi...@elte.hu>
Cc: Namhyung Kim <namhy...@kernel.org>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Peter Zijlstra <a.p.zijls...@chello.nl>
Cc: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 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 ff7066c..604f64e 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 fs {
        const char              *name;
        const char * const      *mounts;
@@ -18,7 +23,8 @@ struct fs {
 };
 
 enum {
-       FS__SYSFS = 0,
+       FS__SYSFS  = 0,
+       FS__PROCFS = 1,
 };
 
 static struct fs fs_entries[] = {
@@ -27,6 +33,11 @@ static struct fs fs_entries[] = {
                .mounts = sysfs_known_mountpoints,
                .magic  = SYSFS_MAGIC,
        },
+       [FS__PROCFS] = {
+               .name   = "proc",
+               .mounts = procfs_known_mountpoints,
+               .magic  = PROC_SUPER_MAGIC,
+       },
 };
 
 static bool read_mounts(struct 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.8.3.1

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

Reply via email to