src.ctf.fs: append error causes in ctf_fs_file_open
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 21 Oct 2019 20:09:19 +0000 (16:09 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 30 Oct 2019 19:14:53 +0000 (15:14 -0400)
I hit an fopen failure in ctf_fs_file_open and noticed we were missing
some error causes for the message to be precise.  This patch adds them.

This is the result I now get when fopen fails:

    ...
    CAUSED BY [auto-disc-source-ctf-fs-37: 'source.ctf.fs'] (/home/smarchi/src/babeltrace/src/plugins/ctf/fs-src/file.c:98)
      Cannot open file: Too many open files: path=/tmp/lttng-traces/000300/mon_10.196.130.21-20180202-144403/ust/uid/0/64-bit/ch-1_4, mode=rb

Change-Id: I4dae278695b56cbedc9c7e3e5a67bc60fe6584d7
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/2230
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Francis Deslauriers <francis.deslauriers@efficios.com>
src/plugins/ctf/fs-src/file.c

index 9c116782299c0d3c5fc4d2c15a4c8c28ee0bcc59..2191b67100a4cdb6a3e7ce4af3e8fe8dacb2058e 100644 (file)
@@ -93,15 +93,18 @@ int ctf_fs_file_open(struct ctf_fs_file *file, const char *mode)
        BT_COMP_LOGI("Opening file \"%s\" with mode \"%s\"", file->path->str, mode);
        file->fp = fopen(file->path->str, mode);
        if (!file->fp) {
-               BT_COMP_LOGE("Cannot open file \"%s\" with mode \"%s\": %s",
-                       file->path->str, mode, strerror(errno));
+               BT_COMP_LOGE_APPEND_CAUSE_ERRNO(file->self_comp,
+                       "Cannot open file", ": path=%s, mode=%s",
+                       file->path->str, mode);
                goto error;
        }
 
        BT_COMP_LOGI("Opened file: %p", file->fp);
 
        if (fstat(fileno(file->fp), &stat)) {
-               BT_COMP_LOGE("Cannot get file information: %s", strerror(errno));
+               BT_COMP_LOGE_APPEND_CAUSE_ERRNO(file->self_comp,
+                       "Cannot get file information",
+                       ": path=%s", file->path->str);
                goto error;
        }
 
This page took 0.024777 seconds and 4 git commands to generate.