aboutsummaryrefslogtreecommitdiffstats
path: root/lib/helper.c
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@gmail.com>2019-09-04 15:59:18 +0100
committerNikolaus Rath <Nikolaus@rath.org>2019-09-04 15:59:18 +0100
commit317181e8ea1b3406919b946ca5524f8b9f34817d (patch)
tree0d0e0a2eb0d3d309dbabbdcdd6cb62131507b592 /lib/helper.c
parentf39c71dcf99292c188bb6f0a117d7e118f92bfb1 (diff)
downloadlibfuse-317181e8ea1b3406919b946ca5524f8b9f34817d.tar.gz
Introduce callback for logging
Introduce an API for custom log handler functions. This allows libfuse applications to send messages to syslog(3) or other logging systems. See include/fuse_log.h for details. Convert libfuse from fprintf(stderr, ...) to log_fuse(level, ...). Most messages are error messages with FUSE_LOG_ERR log level. There are also some debug messages which now use the FUSE_LOG_DEBUG log level. Note that lib/mount_util.c is used by both libfuse and fusermount3. Since fusermount3 does not link against libfuse, we cannot call fuse_log() from lib/mount_util.c. This file will continue to use fprintf(stderr, ...) until someone figures out how to split it up. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'lib/helper.c')
-rw-r--r--lib/helper.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/helper.c b/lib/helper.c
index 5b80c6e..64ff7ad 100644
--- a/lib/helper.c
+++ b/lib/helper.c
@@ -154,14 +154,14 @@ static int fuse_helper_opt_proc(void *data, const char *arg, int key,
char mountpoint[PATH_MAX] = "";
if (realpath(arg, mountpoint) == NULL) {
- fprintf(stderr,
+ fuse_log(FUSE_LOG_ERR,
"fuse: bad mount point `%s': %s\n",
arg, strerror(errno));
return -1;
}
return fuse_opt_add_opt(&opts->mountpoint, mountpoint);
} else {
- fprintf(stderr, "fuse: invalid argument `%s'\n", arg);
+ fuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", arg);
return -1;
}
@@ -186,7 +186,7 @@ static int add_default_subtype(const char *progname, struct fuse_args *args)
subtype_opt = (char *) malloc(strlen(basename) + 64);
if (subtype_opt == NULL) {
- fprintf(stderr, "fuse: memory allocation failed\n");
+ fuse_log(FUSE_LOG_ERR, "fuse: memory allocation failed\n");
return -1;
}
#ifdef __FreeBSD__
@@ -307,7 +307,7 @@ int fuse_main_real(int argc, char *argv[], const struct fuse_operations *op,
if (!opts.show_help &&
!opts.mountpoint) {
- fprintf(stderr, "error: no mountpoint specified\n");
+ fuse_log(FUSE_LOG_ERR, "error: no mountpoint specified\n");
res = 2;
goto out1;
}
@@ -411,7 +411,7 @@ struct fuse_conn_info_opts* fuse_parse_conn_info_opts(struct fuse_args *args)
opts = calloc(1, sizeof(struct fuse_conn_info_opts));
if(opts == NULL) {
- fprintf(stderr, "calloc failed\n");
+ fuse_log(FUSE_LOG_ERR, "calloc failed\n");
return NULL;
}
if(fuse_opt_parse(args, opts, conn_info_opt_spec, NULL) == -1) {