Browse Source

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 <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-13-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Jiri Olsa 10 years ago
parent
commit
709adcb339
2 changed files with 18 additions and 10 deletions
  1. 14 9
      tools/lib/api/fs/fs.c
  2. 4 1
      tools/lib/api/fs/fs.h

+ 14 - 9
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;
 	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);
 FS(sysfs,   FS__SYSFS);

+ 4 - 1
tools/lib/api/fs/fs.h

@@ -1,6 +1,8 @@
 #ifndef __API_FS__
 #ifndef __API_FS__
 #define __API_FS__
 #define __API_FS__
 
 
+#include <stdbool.h>
+
 /*
 /*
  * On most systems <limits.h> would have given us this, but  not on some systems
  * On most systems <limits.h> would have given us this, but  not on some systems
  * (e.g. GNU/Hurd).
  * (e.g. GNU/Hurd).
@@ -11,7 +13,8 @@
 
 
 #define FS(name)				\
 #define FS(name)				\
 	const char *name##__mountpoint(void);	\
 	const char *name##__mountpoint(void);	\
-	const char *name##__mount(void);
+	const char *name##__mount(void);	\
+	bool name##__configured(void);		\
 
 
 FS(sysfs)
 FS(sysfs)
 FS(procfs)
 FS(procfs)