perf fs: Add procfs support
authorJiri Olsa <jolsa@redhat.com>
Tue, 5 Nov 2013 14:14:46 +0000 (15:14 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 5 Nov 2013 18:15:07 +0000 (15:15 -0300)
Adding procfs support into fs class.

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

provides existing mountpoint path for procfs.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1383660887-1734-3-git-send-email-jolsa@redhat.com
[ Fixup namespace ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/fs.c
tools/perf/util/fs.h
tools/perf/util/include/linux/magic.h

index 77bac4e4c115c3dd2676907b09e4e4739bc1adef..f5be1f26e724d303ff4a98051b8cf933e1ec1cb4 100644 (file)
@@ -9,6 +9,11 @@ static const char * const sysfs__fs_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__fs_known_mountpoints,
                .magic  = SYSFS_MAGIC,
        },
+       [FS__PROCFS] = {
+               .name   = "proc",
+               .mounts = procfs__known_mountpoints,
+               .magic  = PROC_SUPER_MAGIC,
+       },
 };
 
 static bool fs__read_mounts(struct fs *fs)
@@ -104,4 +115,5 @@ const char *name##__mountpoint(void)        \
        return fs__mountpoint(idx);     \
 }
 
-FS__MOUNTPOINT(sysfs, FS__SYSFS);
+FS__MOUNTPOINT(sysfs,  FS__SYSFS);
+FS__MOUNTPOINT(procfs, FS__PROCFS);
index a7561c83c33c70f73da12c48e096decc7242265f..5e09ce1bab0ec05ceaacce5979e92f65bd1b6b52 100644 (file)
@@ -2,5 +2,6 @@
 #define __PERF_FS
 
 const char *sysfs__mountpoint(void);
+const char *procfs__mountpoint(void);
 
 #endif /* __PERF_FS */
index 58b64ed4da12e442c49e0b3069a1f4a11f83dc8e..07d63cf3e0f6f5d0860c7aa8a8531b49367fd468 100644 (file)
@@ -9,4 +9,8 @@
 #define SYSFS_MAGIC            0x62656572
 #endif
 
+#ifndef PROC_SUPER_MAGIC
+#define PROC_SUPER_MAGIC       0x9fa0
+#endif
+
 #endif