From e13c59fa4414215500e66c2604292caa6e80d57e Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Fri, 24 Jan 2020 16:26:03 +0000 Subject: qemu-img: Convert invocation documentation to rST MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The qemu-img documentation is currently in qemu-nbd.texi in Texinfo format, which we present to the user as: * a qemu-img manpage * a section of the main qemu-doc HTML documentation Convert the documentation to rST format, and present it to the user as: * a qemu-img manpage * part of the interop/ Sphinx manual The qemu-img rST document uses the new hxtool extension to handle pulling rST fragments out of qemu-img-cmds.hx. The documentation of the various options and commands is rather muddled, with some options being described inside the relevant command description and some in a more general section near the start of the manual. All the command synopses are replicated in the .hx file and then again in the manual. A lot of text is also duplicated in the qemu-img.c code for the help text. I have not attempted to deal with any of this, but have simply transposed the existing structure into rST. As usual, there are some minor formatting changes but no textual changes, except that as with one or two other conversions I have dropped the 'see also' section since it's not very informative and looks odd in the HTML. Signed-off-by: Peter Maydell Reviewed-by: Alex Bennée Tested-by: Alex Bennée Message-id: 20200124162606.8787-6-peter.maydell@linaro.org --- docs/interop/conf.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs/interop/conf.py') diff --git a/docs/interop/conf.py b/docs/interop/conf.py index 40b1ad811d..0de444a900 100644 --- a/docs/interop/conf.py +++ b/docs/interop/conf.py @@ -19,6 +19,8 @@ html_theme_options['description'] = u'System Emulation Management and Interopera man_pages = [ ('qemu-ga', 'qemu-ga', u'QEMU Guest Agent', ['Michael Roth '], 8), + ('qemu-img', 'qemu-img', u'QEMU disk image utility', + ['Fabrice Bellard'], 1), ('qemu-nbd', 'qemu-nbd', u'QEMU Disk Network Block Device Server', ['Anthony Liguori '], 8) ] -- cgit 1.4.1 From 605ffebb2e206d9dec746ceed0de7be561b7354b Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Fri, 24 Jan 2020 16:26:05 +0000 Subject: scripts/qemu-trace-stap: Convert documentation to rST MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The qemu-trace-stap documentation is currently in scripts/qemu-trace-stap.texi in Texinfo format, which we present to the user as: * a qemu-trace-stap manpage * but not (unusually for QEMU) part of the HTML docs Convert the documentation to rST format that lives in the docs/ subdirectory, and present it to the user as: * a qemu-trace-stap manpage * part of the interop/ Sphinx manual There are minor formatting changes to suit Sphinx, but no content changes. Signed-off-by: Peter Maydell Reviewed-by: Alex Bennée Tested-by: Alex Bennée Message-id: 20200124162606.8787-8-peter.maydell@linaro.org --- MAINTAINERS | 1 + Makefile | 9 +-- docs/interop/conf.py | 4 +- docs/interop/index.rst | 1 + docs/interop/qemu-trace-stap.rst | 124 ++++++++++++++++++++++++++++++++++ scripts/qemu-trace-stap.texi | 140 --------------------------------------- 6 files changed, 134 insertions(+), 145 deletions(-) create mode 100644 docs/interop/qemu-trace-stap.rst delete mode 100644 scripts/qemu-trace-stap.texi (limited to 'docs/interop/conf.py') diff --git a/MAINTAINERS b/MAINTAINERS index 8026338519..db3cbc18c9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2193,6 +2193,7 @@ F: qemu-option-trace.texi F: scripts/tracetool.py F: scripts/tracetool/ F: scripts/qemu-trace-stap* +F: docs/interop/qemu-trace-stap.rst F: docs/devel/tracing.txt T: git https://github.com/stefanha/qemu.git tracing diff --git a/Makefile b/Makefile index c9dc442217..1e0440c373 100644 --- a/Makefile +++ b/Makefile @@ -357,7 +357,7 @@ ifdef CONFIG_VIRTFS DOCS+=fsdev/virtfs-proxy-helper.1 endif ifdef CONFIG_TRACE_SYSTEMTAP -DOCS+=scripts/qemu-trace-stap.1 +DOCS+=$(MANUAL_BUILDDIR)/interop/qemu-trace-stap.1 endif else DOCS= @@ -848,7 +848,7 @@ ifeq ($(CONFIG_TOOLS),y) $(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/qemu-nbd.8 "$(DESTDIR)$(mandir)/man8" endif ifdef CONFIG_TRACE_SYSTEMTAP - $(INSTALL_DATA) scripts/qemu-trace-stap.1 "$(DESTDIR)$(mandir)/man1" + $(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/qemu-trace-stap.1 "$(DESTDIR)$(mandir)/man1" endif ifneq (,$(findstring qemu-ga,$(TOOLS))) $(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/qemu-ga.8 "$(DESTDIR)$(mandir)/man8" @@ -1050,7 +1050,9 @@ $(MANUAL_BUILDDIR)/specs/index.html: $(call manual-deps,specs) $(MANUAL_BUILDDIR)/system/index.html: $(call manual-deps,system) $(call build-manual,system,html) -$(call define-manpage-rule,interop,qemu-ga.8 qemu-img.1 qemu-nbd.8,$(SRC_PATH/qemu-img-cmds.hx)) +$(call define-manpage-rule,interop,\ + qemu-ga.8 qemu-img.1 qemu-nbd.8 qemu-trace-stap.1,\ + $(SRC_PATH/qemu-img-cmds.hx)) $(call define-manpage-rule,system,qemu-block-drivers.7) @@ -1078,7 +1080,6 @@ qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi qemu-monitor-info.texi qemu.1: qemu-option-trace.texi fsdev/virtfs-proxy-helper.1: fsdev/virtfs-proxy-helper.texi docs/qemu-cpu-models.7: docs/qemu-cpu-models.texi -scripts/qemu-trace-stap.1: scripts/qemu-trace-stap.texi html: qemu-doc.html docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html sphinxdocs info: qemu-doc.info docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info diff --git a/docs/interop/conf.py b/docs/interop/conf.py index 0de444a900..baea7fb50e 100644 --- a/docs/interop/conf.py +++ b/docs/interop/conf.py @@ -22,5 +22,7 @@ man_pages = [ ('qemu-img', 'qemu-img', u'QEMU disk image utility', ['Fabrice Bellard'], 1), ('qemu-nbd', 'qemu-nbd', u'QEMU Disk Network Block Device Server', - ['Anthony Liguori '], 8) + ['Anthony Liguori '], 8), + ('qemu-trace-stap', 'qemu-trace-stap', u'QEMU SystemTap trace tool', + [], 1) ] diff --git a/docs/interop/index.rst b/docs/interop/index.rst index 5e4de07d4c..d756a826b2 100644 --- a/docs/interop/index.rst +++ b/docs/interop/index.rst @@ -20,5 +20,6 @@ Contents: qemu-ga qemu-img qemu-nbd + qemu-trace-stap vhost-user vhost-user-gpu diff --git a/docs/interop/qemu-trace-stap.rst b/docs/interop/qemu-trace-stap.rst new file mode 100644 index 0000000000..fb70445c75 --- /dev/null +++ b/docs/interop/qemu-trace-stap.rst @@ -0,0 +1,124 @@ +QEMU SystemTap trace tool +========================= + +Synopsis +-------- + +**qemu-trace-stap** [*GLOBAL-OPTIONS*] *COMMAND* [*COMMAND-OPTIONS*] *ARGS*... + +Description +----------- + +The ``qemu-trace-stap`` program facilitates tracing of the execution +of QEMU emulators using SystemTap. + +It is required to have the SystemTap runtime environment installed to use +this program, since it is a wrapper around execution of the ``stap`` +program. + +Options +------- + +.. program:: qemu-trace-stap + +The following global options may be used regardless of which command +is executed: + +.. option:: --verbose, -v + + Display verbose information about command execution. + +The following commands are valid: + +.. option:: list BINARY PATTERN... + + List all the probe names provided by *BINARY* that match + *PATTERN*. + + If *BINARY* is not an absolute path, it will be located by searching + the directories listed in the ``$PATH`` environment variable. + + *PATTERN* is a plain string that is used to filter the results of + this command. It may optionally contain a ``*`` wildcard to facilitate + matching multiple probes without listing each one explicitly. Multiple + *PATTERN* arguments may be given, causing listing of probes that match + any of the listed names. If no *PATTERN* is given, the all possible + probes will be listed. + + For example, to list all probes available in the ``qemu-system-x86_64`` + binary: + + :: + + $ qemu-trace-stap list qemu-system-x86_64 + + To filter the list to only cover probes related to QEMU's cryptographic + subsystem, in a binary outside ``$PATH`` + + :: + + $ qemu-trace-stap list /opt/qemu/4.0.0/bin/qemu-system-x86_64 'qcrypto*' + +.. option:: run OPTIONS BINARY PATTERN... + + Run a trace session, printing formatted output any time a process that is + executing *BINARY* triggers a probe matching *PATTERN*. + + If *BINARY* is not an absolute path, it will be located by searching + the directories listed in the ``$PATH`` environment variable. + + *PATTERN* is a plain string that matches a probe name shown by the + *LIST* command. It may optionally contain a ``*`` wildcard to + facilitate matching multiple probes without listing each one explicitly. + Multiple *PATTERN* arguments may be given, causing all matching probes + to be monitored. At least one *PATTERN* is required, since stap is not + capable of tracing all known QEMU probes concurrently without overflowing + its trace buffer. + + Invocation of this command does not need to be synchronized with + invocation of the QEMU process(es). It will match probes on all + existing running processes and all future launched processes, + unless told to only monitor a specific process. + + Valid command specific options are: + + .. program:: qemu-trace-stap-run + + .. option:: --pid=PID, -p PID + + Restrict the tracing session so that it only triggers for the process + identified by *PID*. + + For example, to monitor all processes executing ``qemu-system-x86_64`` + as found on ``$PATH``, displaying all I/O related probes: + + :: + + $ qemu-trace-stap run qemu-system-x86_64 'qio*' + + To monitor only the QEMU process with PID 1732 + + :: + + $ qemu-trace-stap run --pid=1732 qemu-system-x86_64 'qio*' + + To monitor QEMU processes running an alternative binary outside of + ``$PATH``, displaying verbose information about setup of the + tracing environment: + + :: + + $ qemu-trace-stap -v run /opt/qemu/4.0.0/qemu-system-x86_64 'qio*' + +See also +-------- + +:manpage:`qemu(1)`, :manpage:`stap(1)` + +.. + Copyright (C) 2019 Red Hat, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. diff --git a/scripts/qemu-trace-stap.texi b/scripts/qemu-trace-stap.texi deleted file mode 100644 index 07bb9eb94e..0000000000 --- a/scripts/qemu-trace-stap.texi +++ /dev/null @@ -1,140 +0,0 @@ -@example -@c man begin SYNOPSIS -@command{qemu-trace-stap} @var{GLOBAL-OPTIONS} @var{COMMAND} @var{COMMAND-OPTIONS} @var{ARGS...} -@c man end -@end example - -@c man begin DESCRIPTION - -The @command{qemu-trace-stap} program facilitates tracing of the execution -of QEMU emulators using SystemTap. - -It is required to have the SystemTap runtime environment installed to use -this program, since it is a wrapper around execution of the @command{stap} -program. - -@c man end - -@c man begin OPTIONS - -The following global options may be used regardless of which command -is executed: - -@table @option -@item @var{--verbose}, @var{-v} - -Display verbose information about command execution. - -@end table - -The following commands are valid: - -@table @option - -@item @var{list} @var{BINARY} @var{PATTERN...} - -List all the probe names provided by @var{BINARY} that match -@var{PATTERN}. - -If @var{BINARY} is not an absolute path, it will be located by searching -the directories listed in the @code{$PATH} environment variable. - -@var{PATTERN} is a plain string that is used to filter the results of -this command. It may optionally contain a @code{*} wildcard to facilitate -matching multiple probes without listing each one explicitly. Multiple -@var{PATTERN} arguments may be given, causing listing of probes that match -any of the listed names. If no @var{PATTERN} is given, the all possible -probes will be listed. - -For example, to list all probes available in the @command{qemu-system-x86_64} -binary: - -@example -$ qemu-trace-stap list qemu-system-x86_64 -@end example - -To filter the list to only cover probes related to QEMU's cryptographic -subsystem, in a binary outside @code{$PATH} - -@example -$ qemu-trace-stap list /opt/qemu/4.0.0/bin/qemu-system-x86_64 'qcrypto*' -@end example - - -@item @var{run} @var{OPTIONS} @var{BINARY} @var{PATTERN...} - -Run a trace session, printing formatted output any time a process that is -executing @var{BINARY} triggers a probe matching @var{PATTERN}. - -If @var{BINARY} is not an absolute path, it will be located by searching -the directories listed in the @code{$PATH} environment variable. - -@var{PATTERN} is a plain string that matches a probe name shown by the -@var{list} command. It may optionally contain a @code{*} wildcard to -facilitate matching multiple probes without listing each one explicitly. -Multiple @var{PATTERN} arguments may be given, causing all matching probes -to be monitored. At least one @var{PATTERN} is required, since stap is not -capable of tracing all known QEMU probes concurrently without overflowing -its trace buffer. - -Invocation of this command does not need to be synchronized with -invocation of the QEMU process(es). It will match probes on all -existing running processes and all future launched processes, -unless told to only monitor a specific process. - -Valid command specific options are: - -@table @option -@item @var{--pid=PID}, @var{-p PID} - -Restrict the tracing session so that it only triggers for the process -identified by @code{PID}. - -@end table - -For example, to monitor all processes executing @command{qemu-system-x86_64} -as found on $PATH, displaying all I/O related probes: - -@example -$ qemu-trace-stap run qemu-system-x86_64 'qio*' -@end example - -To monitor only the QEMU process with PID 1732 - -@example -$ qemu-trace-stap run --pid=1732 qemu-system-x86_64 'qio*' -@end example - -To monitor QEMU processes running an alternative binary outside of -@code{$PATH}, displaying verbose information about setup of the -tracing environment: - -@example -$ qemu-trace-stap -v run /opt/qemu/4.0.0/qemu-system-x86_64 'qio*' -@end example - -@end table - -@c man end - -@ignore - -@setfilename qemu-trace-stap -@settitle QEMU SystemTap trace tool - -@c man begin LICENSE - -Copyright (C) 2019 Red Hat, Inc. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -@c man end - -@c man begin SEEALSO -qemu(1), stap(1) -@c man end - -@end ignore -- cgit 1.4.1 From 78813586b04e89639754cfdcef23802dc9f54ff4 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Fri, 24 Jan 2020 16:26:06 +0000 Subject: virtfs-proxy-helper: Convert documentation to rST The virtfs-proxy-helper documentation is currently in fsdev/qemu-trace-stap.texi in Texinfo format, which we present to the user as: * a virtfs-proxy-helper manpage * but not (unusually for QEMU) part of the HTML docs Convert the documentation to rST format that lives in the docs/ subdirectory, and present it to the user as: * a virtfs-proxy-helper manpage * part of the interop/ Sphinx manual There are minor formatting changes to suit Sphinx, but no content changes. In particular I've split the -u and -g options into each having their own description text. Signed-off-by: Peter Maydell Acked-by: Greg Kurz Message-id: 20200124162606.8787-9-peter.maydell@linaro.org --- MAINTAINERS | 1 + Makefile | 7 ++-- docs/interop/conf.py | 5 ++- docs/interop/index.rst | 1 + docs/interop/virtfs-proxy-helper.rst | 72 ++++++++++++++++++++++++++++++++++++ fsdev/virtfs-proxy-helper.texi | 63 ------------------------------- 6 files changed, 81 insertions(+), 68 deletions(-) create mode 100644 docs/interop/virtfs-proxy-helper.rst delete mode 100644 fsdev/virtfs-proxy-helper.texi (limited to 'docs/interop/conf.py') diff --git a/MAINTAINERS b/MAINTAINERS index db3cbc18c9..1f0bc72f21 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1574,6 +1574,7 @@ S: Odd Fixes F: hw/9pfs/ X: hw/9pfs/xen-9p* F: fsdev/ +F: docs/interop/virtfs-proxy-helper.rst F: tests/qtest/virtio-9p-test.c T: git https://github.com/gkurz/qemu.git 9p-next diff --git a/Makefile b/Makefile index 1e0440c373..a6f5d44082 100644 --- a/Makefile +++ b/Makefile @@ -354,7 +354,7 @@ DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qe DOCS+=docs/qemu-cpu-models.7 DOCS+=$(MANUAL_BUILDDIR)/index.html ifdef CONFIG_VIRTFS -DOCS+=fsdev/virtfs-proxy-helper.1 +DOCS+=$(MANUAL_BUILDDIR)/interop/virtfs-proxy-helper.1 endif ifdef CONFIG_TRACE_SYSTEMTAP DOCS+=$(MANUAL_BUILDDIR)/interop/qemu-trace-stap.1 @@ -859,7 +859,7 @@ endif endif ifdef CONFIG_VIRTFS $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1" - $(INSTALL_DATA) fsdev/virtfs-proxy-helper.1 "$(DESTDIR)$(mandir)/man1" + $(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/virtfs-proxy-helper.1 "$(DESTDIR)$(mandir)/man1" endif install-datadir: @@ -1051,7 +1051,7 @@ $(MANUAL_BUILDDIR)/system/index.html: $(call manual-deps,system) $(call build-manual,system,html) $(call define-manpage-rule,interop,\ - qemu-ga.8 qemu-img.1 qemu-nbd.8 qemu-trace-stap.1,\ + qemu-ga.8 qemu-img.1 qemu-nbd.8 qemu-trace-stap.1 virtfs-proxy-helper.1,\ $(SRC_PATH/qemu-img-cmds.hx)) $(call define-manpage-rule,system,qemu-block-drivers.7) @@ -1078,7 +1078,6 @@ docs/interop/qemu-ga-qapi.texi: qga/qapi-generated/qga-qapi-doc.texi qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi qemu-monitor-info.texi qemu.1: qemu-option-trace.texi -fsdev/virtfs-proxy-helper.1: fsdev/virtfs-proxy-helper.texi docs/qemu-cpu-models.7: docs/qemu-cpu-models.texi html: qemu-doc.html docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html sphinxdocs diff --git a/docs/interop/conf.py b/docs/interop/conf.py index baea7fb50e..b0f322207c 100644 --- a/docs/interop/conf.py +++ b/docs/interop/conf.py @@ -24,5 +24,8 @@ man_pages = [ ('qemu-nbd', 'qemu-nbd', u'QEMU Disk Network Block Device Server', ['Anthony Liguori '], 8), ('qemu-trace-stap', 'qemu-trace-stap', u'QEMU SystemTap trace tool', - [], 1) + [], 1), + ('virtfs-proxy-helper', 'virtfs-proxy-helper', + u'QEMU 9p virtfs proxy filesystem helper', + ['M. Mohan Kumar'], 1) ] diff --git a/docs/interop/index.rst b/docs/interop/index.rst index d756a826b2..3b763b1eeb 100644 --- a/docs/interop/index.rst +++ b/docs/interop/index.rst @@ -23,3 +23,4 @@ Contents: qemu-trace-stap vhost-user vhost-user-gpu + virtfs-proxy-helper diff --git a/docs/interop/virtfs-proxy-helper.rst b/docs/interop/virtfs-proxy-helper.rst new file mode 100644 index 0000000000..6cdeedf8e9 --- /dev/null +++ b/docs/interop/virtfs-proxy-helper.rst @@ -0,0 +1,72 @@ +QEMU 9p virtfs proxy filesystem helper +====================================== + +Synopsis +-------- + +**virtfs-proxy-helper** [*OPTIONS*] + +Description +----------- + +Pass-through security model in QEMU 9p server needs root privilege to do +few file operations (like chown, chmod to any mode/uid:gid). There are two +issues in pass-through security model: + +- TOCTTOU vulnerability: Following symbolic links in the server could + provide access to files beyond 9p export path. + +- Running QEMU with root privilege could be a security issue. + +To overcome above issues, following approach is used: A new filesystem +type 'proxy' is introduced. Proxy FS uses chroot + socket combination +for securing the vulnerability known with following symbolic links. +Intention of adding a new filesystem type is to allow qemu to run +in non-root mode, but doing privileged operations using socket IO. + +Proxy helper (a stand alone binary part of qemu) is invoked with +root privileges. Proxy helper chroots into 9p export path and creates +a socket pair or a named socket based on the command line parameter. +QEMU and proxy helper communicate using this socket. QEMU proxy fs +driver sends filesystem request to proxy helper and receives the +response from it. + +The proxy helper is designed so that it can drop root privileges except +for the capabilities needed for doing filesystem operations. + +Options +------- + +The following options are supported: + +.. program:: virtfs-proxy-helper + +.. option:: -h + + Display help and exit + +.. option:: -p, --path PATH + + Path to export for proxy filesystem driver + +.. option:: -f, --fd SOCKET_ID + + Use given file descriptor as socket descriptor for communicating with + qemu proxy fs drier. Usually a helper like libvirt will create + socketpair and pass one of the fds as parameter to this option. + +.. option:: -s, --socket SOCKET_FILE + + Creates named socket file for communicating with qemu proxy fs driver + +.. option:: -u, --uid UID + + uid to give access to named socket file; used in combination with -g. + +.. option:: -g, --gid GID + + gid to give access to named socket file; used in combination with -u. + +.. option:: -n, --nodaemon + + Run as a normal program. By default program will run in daemon mode diff --git a/fsdev/virtfs-proxy-helper.texi b/fsdev/virtfs-proxy-helper.texi deleted file mode 100644 index f4cbb60623..0000000000 --- a/fsdev/virtfs-proxy-helper.texi +++ /dev/null @@ -1,63 +0,0 @@ -@example -@c man begin SYNOPSIS -@command{virtfs-proxy-helper} @var{options} -@c man end -@end example - -@c man begin DESCRIPTION -@table @description -Pass-through security model in QEMU 9p server needs root privilege to do -few file operations (like chown, chmod to any mode/uid:gid). There are two -issues in pass-through security model - -1) TOCTTOU vulnerability: Following symbolic links in the server could -provide access to files beyond 9p export path. - -2) Running QEMU with root privilege could be a security issue. - -To overcome above issues, following approach is used: A new filesystem -type 'proxy' is introduced. Proxy FS uses chroot + socket combination -for securing the vulnerability known with following symbolic links. -Intention of adding a new filesystem type is to allow qemu to run -in non-root mode, but doing privileged operations using socket IO. - -Proxy helper(a stand alone binary part of qemu) is invoked with -root privileges. Proxy helper chroots into 9p export path and creates -a socket pair or a named socket based on the command line parameter. -QEMU and proxy helper communicate using this socket. QEMU proxy fs -driver sends filesystem request to proxy helper and receives the -response from it. - -The proxy helper is designed so that it can drop root privileges except -for the capabilities needed for doing filesystem operations. - -@end table -@c man end - -@c man begin OPTIONS -The following options are supported: -@table @option -@item -h -@findex -h -Display help and exit -@item -p|--path path -Path to export for proxy filesystem driver -@item -f|--fd socket-id -Use given file descriptor as socket descriptor for communicating with -qemu proxy fs drier. Usually a helper like libvirt will create -socketpair and pass one of the fds as parameter to -f|--fd -@item -s|--socket socket-file -Creates named socket file for communicating with qemu proxy fs driver -@item -u|--uid uid -g|--gid gid -uid:gid combination to give access to named socket file -@item -n|--nodaemon -Run as a normal program. By default program will run in daemon mode -@end table -@c man end - -@setfilename virtfs-proxy-helper -@settitle QEMU 9p virtfs proxy filesystem helper - -@c man begin AUTHOR -M. Mohan Kumar -@c man end -- cgit 1.4.1