qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 07/30] virtiofsd: remove mountpoint dummy argument


From: Dr. David Alan Gilbert (git)
Subject: [PATCH 07/30] virtiofsd: remove mountpoint dummy argument
Date: Mon, 21 Oct 2019 11:58:09 +0100

From: Stefan Hajnoczi <address@hidden>

Classic FUSE file system daemons take a mountpoint argument but
virtiofsd exposes a vhost-user UNIX domain socket instead.  The
mountpoint argument is not used by virtiofsd but the user is still
required to pass a dummy argument on the command-line.

Remove the mountpoint argument to clean up the command-line.

Signed-off-by: Stefan Hajnoczi <address@hidden>
---
 contrib/virtiofsd/fuse_lowlevel.c  |  2 +-
 contrib/virtiofsd/fuse_lowlevel.h  |  4 +---
 contrib/virtiofsd/helper.c         | 21 +++------------------
 contrib/virtiofsd/passthrough_ll.c | 12 ++----------
 4 files changed, 7 insertions(+), 32 deletions(-)

diff --git a/contrib/virtiofsd/fuse_lowlevel.c 
b/contrib/virtiofsd/fuse_lowlevel.c
index f83cc2855d..2f40510707 100644
--- a/contrib/virtiofsd/fuse_lowlevel.c
+++ b/contrib/virtiofsd/fuse_lowlevel.c
@@ -2315,7 +2315,7 @@ out1:
        return NULL;
 }
 
-int fuse_session_mount(struct fuse_session *se, const char *mountpoint)
+int fuse_session_mount(struct fuse_session *se)
 {
        int fd;
 
diff --git a/contrib/virtiofsd/fuse_lowlevel.h 
b/contrib/virtiofsd/fuse_lowlevel.h
index 207346081e..b0566ea21d 100644
--- a/contrib/virtiofsd/fuse_lowlevel.h
+++ b/contrib/virtiofsd/fuse_lowlevel.h
@@ -1834,7 +1834,6 @@ struct fuse_cmdline_opts {
        int foreground;
        int debug;
        int nodefault_subtype;
-       char *mountpoint;
        int show_version;
        int show_help;
        int clone_fd;
@@ -1897,12 +1896,11 @@ struct fuse_session *fuse_session_new(struct fuse_args 
*args,
 /**
  * Mount a FUSE file system.
  *
- * @param mountpoint the mount point path
  * @param se session object
  *
  * @return 0 on success, -1 on failure.
  **/
-int fuse_session_mount(struct fuse_session *se, const char *mountpoint);
+int fuse_session_mount(struct fuse_session *se);
 
 /**
  * Enter a single threaded, blocking event loop.
diff --git a/contrib/virtiofsd/helper.c b/contrib/virtiofsd/helper.c
index 8b993f228b..f7b00db258 100644
--- a/contrib/virtiofsd/helper.c
+++ b/contrib/virtiofsd/helper.c
@@ -142,28 +142,13 @@ void fuse_cmdline_help(void)
 static int fuse_helper_opt_proc(void *data, const char *arg, int key,
                                struct fuse_args *outargs)
 {
+       (void) data;
        (void) outargs;
-       struct fuse_cmdline_opts *opts = data;
 
        switch (key) {
        case FUSE_OPT_KEY_NONOPT:
-               if (!opts->mountpoint) {
-                       if (fuse_mnt_parse_fuse_fd(arg) != -1) {
-                               return fuse_opt_add_opt(&opts->mountpoint, arg);
-                       }
-
-                       char mountpoint[PATH_MAX] = "";
-                       if (realpath(arg, mountpoint) == NULL) {
-                               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 {
-                       fuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", 
arg);
-                       return -1;
-               }
+               fuse_log(FUSE_LOG_ERR, "fuse: invalid argument `%s'\n", arg);
+               return -1;
 
        default:
                /* Pass through unknown options */
diff --git a/contrib/virtiofsd/passthrough_ll.c 
b/contrib/virtiofsd/passthrough_ll.c
index 4e3760294a..8f94dcbc92 100644
--- a/contrib/virtiofsd/passthrough_ll.c
+++ b/contrib/virtiofsd/passthrough_ll.c
@@ -1218,7 +1218,7 @@ int main(int argc, char *argv[])
        if (fuse_parse_cmdline(&args, &opts) != 0)
                return 1;
        if (opts.show_help) {
-               printf("usage: %s [options] <mountpoint>\n\n", argv[0]);
+               printf("usage: %s [options]\n\n", argv[0]);
                fuse_cmdline_help();
                fuse_lowlevel_help();
                ret = 0;
@@ -1230,13 +1230,6 @@ int main(int argc, char *argv[])
                goto err_out1;
        }
 
-       if(opts.mountpoint == NULL) {
-               printf("usage: %s [options] <mountpoint>\n", argv[0]);
-               printf("       %s --help\n", argv[0]);
-               ret = 1;
-               goto err_out1;
-       }
-
        if (fuse_opt_parse(&args, &lo, lo_opts, NULL)== -1)
                return 1;
 
@@ -1295,7 +1288,7 @@ int main(int argc, char *argv[])
        if (fuse_set_signal_handlers(se) != 0)
            goto err_out2;
 
-       if (fuse_session_mount(se, opts.mountpoint) != 0)
+       if (fuse_session_mount(se) != 0)
            goto err_out3;
 
        fuse_daemonize(opts.foreground);
@@ -1312,7 +1305,6 @@ err_out3:
 err_out2:
        fuse_session_destroy(se);
 err_out1:
-       free(opts.mountpoint);
        fuse_opt_free_args(&args);
 
        if (lo.root.fd >= 0)
-- 
2.23.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]