From 317181e8ea1b3406919b946ca5524f8b9f34817d Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Wed, 4 Sep 2019 15:59:18 +0100 Subject: 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 --- lib/modules/subdir.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/modules/subdir.c') diff --git a/lib/modules/subdir.c b/lib/modules/subdir.c index f84d8c1..23f58f8 100644 --- a/lib/modules/subdir.c +++ b/lib/modules/subdir.c @@ -633,7 +633,7 @@ static struct fuse_fs *subdir_new(struct fuse_args *args, d = calloc(1, sizeof(struct subdir)); if (d == NULL) { - fprintf(stderr, "fuse-subdir: memory allocation failed\n"); + fuse_log(FUSE_LOG_ERR, "fuse-subdir: memory allocation failed\n"); return NULL; } @@ -641,19 +641,19 @@ static struct fuse_fs *subdir_new(struct fuse_args *args, goto out_free; if (!next[0] || next[1]) { - fprintf(stderr, "fuse-subdir: exactly one next filesystem required\n"); + fuse_log(FUSE_LOG_ERR, "fuse-subdir: exactly one next filesystem required\n"); goto out_free; } if (!d->base) { - fprintf(stderr, "fuse-subdir: missing 'subdir' option\n"); + fuse_log(FUSE_LOG_ERR, "fuse-subdir: missing 'subdir' option\n"); goto out_free; } if (d->base[0] && d->base[strlen(d->base)-1] != '/') { char *tmp = realloc(d->base, strlen(d->base) + 2); if (!tmp) { - fprintf(stderr, "fuse-subdir: memory allocation failed\n"); + fuse_log(FUSE_LOG_ERR, "fuse-subdir: memory allocation failed\n"); goto out_free; } d->base = tmp; -- cgit v1.2.3