[Virtio-fs] [PATCH 2/2] virtiofsd: convert more fprintf and perror to use fuse log infra

Eryu Guan guaneryu at gmail.com
Sun Aug 11 13:21:26 UTC 2019


On Fri, Aug 09, 2019 at 05:40:56PM +0800, piaojun wrote:
> Hi Eryu,
> 
> Could fuse_err() print to stderr as well?

Yes, when "--syslog" is not used :)

Thanks,
Eryu

> 
> Jun
> 
> On 2019/8/9 16:25, Eryu Guan wrote:
> > Signed-off-by: Eryu Guan <eguan at linux.alibaba.com>
> > ---
> >  contrib/virtiofsd/fuse_lowlevel.c |  6 +++---
> >  contrib/virtiofsd/fuse_signals.c  |  7 +++++--
> >  contrib/virtiofsd/fuse_virtio.c   | 16 ++++++++--------
> >  contrib/virtiofsd/helper.c        |  6 +++---
> >  4 files changed, 19 insertions(+), 16 deletions(-)
> > 
> > diff --git a/contrib/virtiofsd/fuse_lowlevel.c b/contrib/virtiofsd/fuse_lowlevel.c
> > index 7eec2680b6de..8ef800239f1e 100644
> > --- a/contrib/virtiofsd/fuse_lowlevel.c
> > +++ b/contrib/virtiofsd/fuse_lowlevel.c
> > @@ -1901,15 +1901,15 @@ static void do_removemapping(fuse_req_t req, fuse_ino_t nodeid,
> >  
> >  	arg = fuse_mbuf_iter_advance(iter, sizeof(*arg));
> >  	if (!arg || arg->count <= 0) {
> > -		fprintf(stderr, "do_removemapping: invalid arg %p\n", arg);
> > +		fuse_err("do_removemapping: invalid arg %p\n", arg);
> >  		fuse_reply_err(req, EINVAL);
> >  		return;
> >  	}
> >  
> >  	one = fuse_mbuf_iter_advance(iter, arg->count * sizeof(*one));
> >  	if (!one) {
> > -		fprintf(stderr, "do_removemapping: invalid in, expected %d * %ld, has %ld - %ld\n",
> > -				arg->count, sizeof(*one), iter->size, iter->pos);
> > +		fuse_err("do_removemapping: invalid in, expected %d * %ld, has %ld - %ld\n",
> > +			 arg->count, sizeof(*one), iter->size, iter->pos);
> >  		fuse_reply_err(req, EINVAL);
> >  		return;
> >  	}
> > diff --git a/contrib/virtiofsd/fuse_signals.c b/contrib/virtiofsd/fuse_signals.c
> > index aa3bdba7daaf..9d34f6b04025 100644
> > --- a/contrib/virtiofsd/fuse_signals.c
> > +++ b/contrib/virtiofsd/fuse_signals.c
> > @@ -12,6 +12,7 @@
> >  #include "fuse_log.h"
> >  #include "fuse_lowlevel.h"
> >  
> > +#include <errno.h>
> >  #include <stdio.h>
> >  #include <string.h>
> >  #include <signal.h>
> > @@ -47,13 +48,15 @@ static int set_one_signal_handler(int sig, void (*handler)(int), int remove)
> >  	sa.sa_flags = 0;
> >  
> >  	if (sigaction(sig, NULL, &old_sa) == -1) {
> > -		perror("fuse: cannot get old signal handler");
> > +		fuse_err("fuse: cannot get old signal handler: %s\n",
> > +			 strerror(errno));
> >  		return -1;
> >  	}
> >  
> >  	if (old_sa.sa_handler == (remove ? handler : SIG_DFL) &&
> >  	    sigaction(sig, &sa, NULL) == -1) {
> > -		perror("fuse: cannot set signal handler");
> > +		fuse_err("fuse: cannot set signal handler: %s\n",
> > +			 strerror(errno));
> >  		return -1;
> >  	}
> >  	return 0;
> > diff --git a/contrib/virtiofsd/fuse_virtio.c b/contrib/virtiofsd/fuse_virtio.c
> > index 5b3174e4c74c..2ce0a9cf816e 100644
> > --- a/contrib/virtiofsd/fuse_virtio.c
> > +++ b/contrib/virtiofsd/fuse_virtio.c
> > @@ -675,7 +675,7 @@ static void *fv_queue_thread(void *opaque)
> >                                 fuse_info("%s: ppoll interrupted, going around\n", __func__);
> >                                 continue;
> >                         }
> > -                       perror("fv_queue_thread ppoll");
> > +                       fuse_err("fv_queue_thread ppoll: %s\n", strerror(errno));
> >                         break;
> >                 }
> >                 assert(poll_res >= 1);
> > @@ -700,7 +700,7 @@ static void *fv_queue_thread(void *opaque)
> >  
> >                 eventfd_t evalue;
> >                 if (eventfd_read(qi->kick_fd, &evalue)) {
> > -                       perror("Eventfd_read for queue");
> > +                       fuse_err("Eventfd_read for queue: %s\n", strerror(errno));
> >                         break;
> >                 }
> >  
> > @@ -805,7 +805,7 @@ static void fv_queue_set_started(VuDev *dev, int qidx, bool started)
> >  
> >                  /* Kill the thread */
> >                  if (eventfd_write(ourqi->kill_fd, 1)) {
> > -                       perror("Eventfd_read for queue");
> > +                       fuse_err("Eventfd_read for queue: %s\n", strerror(errno));
> >                  }
> >                  ret = pthread_join(ourqi->thread, NULL);
> >                  if (ret) {
> > @@ -859,7 +859,7 @@ int virtio_loop(struct fuse_session *se)
> >                                 fuse_info("%s: ppoll interrupted, going around\n", __func__);
> >                                 continue;
> >                         }
> > -                       perror("virtio_loop ppoll");
> > +                       fuse_err("virtio_loop ppoll: %s\n", strerror(errno));
> >                         break;
> >                 }
> >                 assert(poll_res == 1);
> > @@ -913,18 +913,18 @@ static int fv_create_listen_socket(struct fuse_session *se)
> >  
> >          int listen_sock = socket(AF_UNIX, SOCK_STREAM, 0);
> >          if (listen_sock == -1) {
> > -               perror("vhost socket creation");
> > +               fuse_err("vhost socket creation: %s\n", strerror(errno));
> >                 return -1;
> >          }
> >          un.sun_family = AF_UNIX;
> >  
> >          if (bind(listen_sock, (struct sockaddr *) &un, addr_len) == -1) {
> > -                perror("vhost socket bind");
> > +                fuse_err("vhost socket bind: %s\n", strerror(errno));
> >                  return -1;
> >          }
> >  
> >          if (listen(listen_sock, 1) == -1) {
> > -                perror("vhost socket listen");
> > +                fuse_err("vhost socket listen: %s\n", strerror(errno));
> >                  return -1;
> >          }
> >  
> > @@ -949,7 +949,7 @@ int virtio_session_mount(struct fuse_session *se)
> >          fuse_err("%s: Waiting for vhost-user socket connection...\n", __func__);
> >          int data_sock = accept(se->vu_listen_fd, NULL, NULL);
> >          if (data_sock == -1) {
> > -                perror("vhost socket accept");
> > +                fuse_err("vhost socket accept: %s\n", strerror(errno));
> >                  close(se->vu_listen_fd);
> >                  return -1;
> >          }
> > diff --git a/contrib/virtiofsd/helper.c b/contrib/virtiofsd/helper.c
> > index dc80100e8594..4c7145208028 100644
> > --- a/contrib/virtiofsd/helper.c
> > +++ b/contrib/virtiofsd/helper.c
> > @@ -189,7 +189,7 @@ int fuse_daemonize(int foreground)
> >  		char completed;
> >  
> >  		if (pipe(waiter)) {
> > -			perror("fuse_daemonize: pipe");
> > +			fuse_err("fuse_daemonize: pipe: %s\n", strerror(errno));
> >  			return -1;
> >  		}
> >  
> > @@ -199,7 +199,7 @@ int fuse_daemonize(int foreground)
> >  		 */
> >  		switch(fork()) {
> >  		case -1:
> > -			perror("fuse_daemonize: fork");
> > +			fuse_err("fuse_daemonize: fork: %s\n", strerror(errno));
> >  			return -1;
> >  		case 0:
> >  			break;
> > @@ -209,7 +209,7 @@ int fuse_daemonize(int foreground)
> >  		}
> >  
> >  		if (setsid() == -1) {
> > -			perror("fuse_daemonize: setsid");
> > +			fuse_err("fuse_daemonize: setsid: %s\n", strerror(errno));
> >  			return -1;
> >  		}
> >  
> > 
> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs at redhat.com
> https://www.redhat.com/mailman/listinfo/virtio-fs




More information about the Virtio-fs mailing list