From 709adcb33928b5bf965587b23ed6544e964584a3 Mon Sep 17 00:00:00 2001 From: Jiri Olsa Date: Wed, 2 Sep 2015 09:56:42 +0200 Subject: [PATCH] tools lib api fs: Add FSTYPE__configured() method Add FSTYPE__configured() (where FSTYPE is one of sysfs, procfs, debugfs, tracefs) interface that returns bool state of the filesystem mount: true - mounted, false - not mounted It will not try to mount the filesystem. Signed-off-by: Jiri Olsa Cc: Raphael Beamonte Cc: David Ahern Cc: Matt Fleming Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Steven Rostedt Link: http://lkml.kernel.org/r/1441180605-24737-13-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/lib/api/fs/fs.c | 23 ++++++++++++++--------- tools/lib/api/fs/fs.h | 5 ++++- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c index bc93baf33fff..8afe08a99bc6 100644 --- a/tools/lib/api/fs/fs.c +++ b/tools/lib/api/fs/fs.c @@ -244,15 +244,20 @@ static const char *fs__mount(int idx) return fs__check_mounts(fs) ? fs->path : NULL; } -#define FS(name, idx) \ -const char *name##__mountpoint(void) \ -{ \ - return fs__mountpoint(idx); \ -} \ - \ -const char *name##__mount(void) \ -{ \ - return fs__mount(idx); \ +#define FS(name, idx) \ +const char *name##__mountpoint(void) \ +{ \ + return fs__mountpoint(idx); \ +} \ + \ +const char *name##__mount(void) \ +{ \ + return fs__mount(idx); \ +} \ + \ +bool name##__configured(void) \ +{ \ + return name##__mountpoint() != NULL; \ } FS(sysfs, FS__SYSFS); diff --git a/tools/lib/api/fs/fs.h b/tools/lib/api/fs/fs.h index a9627ea5e6ae..f654bcb99d1e 100644 --- a/tools/lib/api/fs/fs.h +++ b/tools/lib/api/fs/fs.h @@ -1,6 +1,8 @@ #ifndef __API_FS__ #define __API_FS__ +#include + /* * On most systems would have given us this, but not on some systems * (e.g. GNU/Hurd). @@ -11,7 +13,8 @@ #define FS(name) \ const char *name##__mountpoint(void); \ - const char *name##__mount(void); + const char *name##__mount(void); \ + bool name##__configured(void); \ FS(sysfs) FS(procfs) -- 2.20.1