[07/30] virtiofsd: remove mountpoint dummy argument
diff mbox series

Message ID 20191021105832.36574-8-dgilbert@redhat.com
State New
Headers show
Series
  • virtiofs daemon (base)
Related show

Commit Message

Dr. David Alan Gilbert Oct. 21, 2019, 10:58 a.m. UTC
From: Stefan Hajnoczi <stefanha@redhat.com>

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 <stefanha@redhat.com>
---
 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(-)

Patch
diff mbox series

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)