Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c495afb4 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

tools lib api fs: Add tracefs into fs.c object



Adding tracefs support into fs.c framework. It'll replace the tracefs
object functionality in following patches.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Raphael Beamonte <raphael.beamonte@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1441180605-24737-11-git-send-email-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 8ccfabdb
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -28,6 +28,10 @@
#define DEBUGFS_MAGIC          0x64626720
#endif

#ifndef TRACEFS_MAGIC
#define TRACEFS_MAGIC          0x74726163
#endif

static const char * const sysfs__fs_known_mountpoints[] = {
	"/sys",
	0,
@@ -48,6 +52,19 @@ static const char * const debugfs__known_mountpoints[] = {
	0,
};


#ifndef TRACEFS_DEFAULT_PATH
#define TRACEFS_DEFAULT_PATH "/sys/kernel/tracing"
#endif

static const char * const tracefs__known_mountpoints[] = {
	TRACEFS_DEFAULT_PATH,
	"/sys/kernel/debug/tracing",
	"/tracing",
	"/trace",
	0,
};

struct fs {
	const char		*name;
	const char * const	*mounts;
@@ -60,8 +77,13 @@ enum {
	FS__SYSFS   = 0,
	FS__PROCFS  = 1,
	FS__DEBUGFS = 2,
	FS__TRACEFS = 3,
};

#ifndef TRACEFS_MAGIC
#define TRACEFS_MAGIC 0x74726163
#endif

static struct fs fs__entries[] = {
	[FS__SYSFS] = {
		.name	= "sysfs",
@@ -78,6 +100,11 @@ static struct fs fs__entries[] = {
		.mounts	= debugfs__known_mountpoints,
		.magic	= DEBUGFS_MAGIC,
	},
	[FS__TRACEFS] = {
		.name	= "tracefs",
		.mounts	= tracefs__known_mountpoints,
		.magic	= TRACEFS_MAGIC,
	},
};

static bool fs__read_mounts(struct fs *fs)
@@ -197,6 +224,7 @@ const char *name##__mountpoint(void) \
FS__MOUNTPOINT(sysfs,   FS__SYSFS);
FS__MOUNTPOINT(procfs,  FS__PROCFS);
FS__MOUNTPOINT(debugfs, FS__DEBUGFS);
FS__MOUNTPOINT(tracefs, FS__TRACEFS);

int filename__read_int(const char *filename, int *value)
{
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
const char *sysfs__mountpoint(void);
const char *procfs__mountpoint(void);
const char *debugfs__mountpoint(void);
const char *tracefs__mountpoint(void);

int filename__read_int(const char *filename, int *value);
int sysctl__read_int(const char *sysctl, int *value);