lkml.org 
[lkml]   [2015]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 10/15] tools lib api: Add tracefs into fs.c object
    Date
    Adding tracefs support into fs.c framework. It'll replace
    the tracefs object functionality in following patches.

    Link: http://lkml.kernel.org/n/tip-m27bbnbg8s03mt2na6zghf9q@git.kernel.org
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    ---
    tools/lib/api/fs/fs.c | 28 ++++++++++++++++++++++++++++
    tools/lib/api/fs/fs.h | 1 +
    2 files changed, 29 insertions(+)

    diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c
    index 798052cbc7c0..ef16d2a83a27 100644
    --- a/tools/lib/api/fs/fs.c
    +++ b/tools/lib/api/fs/fs.c
    @@ -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)
    {
    diff --git a/tools/lib/api/fs/fs.h b/tools/lib/api/fs/fs.h
    index a4e6b1d93d2f..9013227ae0d1 100644
    --- a/tools/lib/api/fs/fs.h
    +++ b/tools/lib/api/fs/fs.h
    @@ -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);
    --
    2.4.3


    \
     
     \ /
      Last update: 2015-09-02 10:21    [W:4.099 / U:0.608 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site