tools lib fs debugfs: Check if debugfs is mounted when handling ENOENT
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 22 Jan 2015 19:35:42 +0000 (16:35 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 22 Jan 2015 20:02:23 +0000 (17:02 -0300)
If debugfs was already mounted, then its a matter of not finding the
tracepoint, tell the user that perhaps a CONFIG_ setting is not enabled.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-6chfytoflyx3jwfqm7ebltu0@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/api/fs/debugfs.c

index bf9e21648894cfd1ecfe0350be60dcad974f3228..d2b18e88707151551e3f23b4d8f66df6a526b895 100644 (file)
@@ -106,6 +106,13 @@ int debugfs__strerror_open(int err, char *buf, size_t size, const char *filename
 
        switch (err) {
        case ENOENT:
+               if (debugfs_found) {
+                       snprintf(buf, size,
+                                "Error:\tFile %s/%s not found.\n"
+                                "Hint:\tPerhaps this kernel misses some CONFIG_ setting to enable this feature?.\n",
+                                debugfs_mountpoint, filename);
+                       break;
+               }
                snprintf(buf, size, "%s",
                         "Error:\tUnable to find debugfs\n"
                         "Hint:\tWas your kernel compiled with debugfs support?\n"