all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Markus Frank <m.frank@proxmox.com>
Subject: Re: [pve-devel] [PATCH docs v8 3/7] added shared filesystem doc for virtio-fs
Date: Wed, 31 Jan 2024 14:26:34 +0100	[thread overview]
Message-ID: <d903fec1-b7f0-470c-850d-84526348bf38@proxmox.com> (raw)
In-Reply-To: <20231108085254.53574-4-m.frank@proxmox.com>

IMHO the wording/word order with "shared filesystem doc" could be
improved. It's the doc/section for the shared filesystem virtio-fs.

Am 08.11.23 um 09:52 schrieb Markus Frank:
> Signed-off-by: Markus Frank <m.frank@proxmox.com>
> ---
>  qm.adoc | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 82 insertions(+), 2 deletions(-)
> 
> diff --git a/qm.adoc b/qm.adoc
> index c4f1024..571c42e 100644
> --- a/qm.adoc
> +++ b/qm.adoc
> @@ -996,6 +996,85 @@ recommended to always use a limiter to avoid guests using too many host
>  resources. If desired, a value of '0' for `max_bytes` can be used to disable
>  all limits.
>  
> +[[qm_virtiofs]]
> +Virtio-fs
> +~~~~~~~~~
> +
> +Virtio-fs is a shared file system, that enables sharing a directory between

I think the comma should not be here

> +host and guest VM while taking advantage of the locality of virtual machines

Maybe split the sentence, e.g. "guest VM. It takes advantage"

> +and the hypervisor to get a higher throughput than 9p.

I'd say "the 9p remote file system protocol" so that people hearing it
for the first time will have an idea too.

> +
> +To use virtio-fs, the https://gitlab.com/virtio-fs/virtiofsd[virtiofsd] daemon
> +needs to run in the background.
> +In {pve} this process starts immediately before the start of QEMU.

I think there should be a comma after {pve}. My thesis advisor taught me
the following trick that works in many cases: "If you can read it as a
stand-alone sentence, there should be a comma." For example, the "there
should be a comma" can be read as a stand-alone sentence ;)

Nit: since it's the same paragraph, there should be no newline before
this line.

> +
> +Linux VMs with kernel >=5.4 support this feature by default.
> +
> +There is a guide available on how to utilize virtio-fs in Windows VMs.
> +https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/Virtiofs:-Shared-file-system
> +
> +Known limitations

L should be capitalized for title-case

> +^^^^^^^^^^^^^^^^^
> +
> +* Virtiofsd crashing means no recovery until VM is fully stopped
> +and restarted.
> +* Virtiofsd not responding may result in NFS-like hanging access in the VM.
> +* Memory hotplug does not work in combination with virtio-fs.

Out of interest: is this being worked on upstream, a fundamental design
limitation or a limitation on our side?

> +* Windows cannot understand ACLs. Therefore, disable it for Windows VMs,
> +otherwise the virtio-fs device will not be visible within the VMs.

If there is no corresponding warning for this in qemu-server yet, please
add one

> +
> +Add mapping for Shared Directories

M should be capitalized for title-case

> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +To add a mapping, either use the API directly with pvesh as described in the

Since it's a CLI command s/pvesh/`pvesh`/

I'd be inclined to repeat, i.e. "a mapping for a shared directory,"

> +xref:resource_mapping[Resource Mapping] section,

Style nit: no newline here

> +or add the mapping to the configuration file `/etc/pve/mapping/dir.cfg`:

I'd rather not suggest this. Manual editing will cause much more
problems, because there are no checks.

> +
> +----
> +some-dir-id
> +    map node=node1,path=/mnt/share/,submounts=1
> +    map node=node2,path=/mnt/share/,
> +    xattr 1
> +    acl 1
> +----
> +
> +Set `submounts` to `1` when multiple file systems are mounted in a
> +shared directory.

I suppose "and you want to make all available in the guest."

> +
> +Add virtio-fs to VM

to a VM

> +^^^^^^^^^^^^^^^^^^^
> +
> +To share a directory using virtio-fs, you need to specify the directory ID
> +(dirid) that has been configured in the Resource Mapping.

Specify it where? Maybe start out with mentioning the configuration
option, i.e. virtiofs<N> and then what parameters it takes?

"resource mapping" should not be capitalized

> +Additionally, you can set the `cache` option to either `always`, `never`,

Style nit: no newline before this line, it's the same paragraph

> +or `auto`, depending on your requirements.
> +If you want virtio-fs to honor the `O_DIRECT` flag, you can set the
> +`direct-io` parameter to `1`.

Please mention briefly what the implications for the different cache
settings and the direct-io flag are and what the defaults are.

> +Additionally it possible to overwrite the default mapping settings

"Additionally, it is"

> +for xattr & acl by setting then to either `1` or `0`.

`xattr` and `acl`
s/then/them/

> +
> +The `acl` parameter automatically implies `xattr`, that is, it makes no
> +difference whether you set xattr to `0` if acl is set to `1`.

This should be mentioned in the description of the parameter in the
schema too. Also, please use `xattr` and `acl` again.

> +
> +----
> +qm set <vmid> -virtiofs0 dirid=<dirid>,cache=always,direct-io=1
> +qm set <vmid> -virtiofs1 <dirid>,cache=never,xattr=1
> +qm set <vmid> -virtiofs2 <dirid>,acl=1
> +----
> +
> +To mount virtio-fs in a guest VM with the Linux kernel virtio-fs driver, run the
> +following command:

"command inside the guest:" to reduce the number of users trying it on
the host

> +
> +The dirid associated with the path on the current node is also used as the
> +mount tag (name used to mount the device on the guest).

Style nit: Early newline, "mount" fits the 80 character limit




  reply	other threads:[~2024-01-31 13:27 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-08  8:52 [pve-devel] [PATCH cluster/guest-common/docs/qemu-server/manager v8 0/7] virtiofs Markus Frank
2023-11-08  8:52 ` [pve-devel] [PATCH cluster v8 1/7] add mapping/dir.cfg for resource mapping Markus Frank
2024-01-31 12:01   ` Fiona Ebner
2023-11-08  8:52 ` [pve-devel] [PATCH guest-common v8 2/7] add Dir mapping config Markus Frank
2024-01-31 12:01   ` Fiona Ebner
2024-01-31 13:42     ` Markus Frank
2024-01-31 13:53       ` Fiona Ebner
2024-01-31 14:00         ` Fiona Ebner
2024-01-31 14:15           ` Markus Frank
2024-01-31 13:02   ` Fiona Ebner
2023-11-08  8:52 ` [pve-devel] [PATCH docs v8 3/7] added shared filesystem doc for virtio-fs Markus Frank
2024-01-31 13:26   ` Fiona Ebner [this message]
2024-01-31 13:34   ` Fiona Ebner
2023-11-08  8:52 ` [pve-devel] [PATCH qemu-server v8 4/7] feature #1027: virtio-fs support Markus Frank
2024-01-31 15:02   ` Fiona Ebner
2024-02-13 11:52     ` Markus Frank
2024-02-13 12:04       ` Fiona Ebner
2023-11-08  8:52 ` [pve-devel] [PATCH qemu-server v8 5/7] Permission check for virtiofs directory access Markus Frank
2024-01-31 15:23   ` Fiona Ebner
2023-11-08  8:52 ` [pve-devel] [PATCH qemu-server v8 6/7] check_local_resources: virtiofs Markus Frank
2024-01-31 15:35   ` Fiona Ebner
2024-02-22 10:44     ` Markus Frank
2023-11-08  8:52 ` [pve-devel] [PATCH manager v8 7/7] api: add resource map api endpoints for directories Markus Frank
2024-01-31 15:56   ` Fiona Ebner
2024-01-30 12:31 ` [pve-devel] [PATCH cluster/guest-common/docs/qemu-server/manager v8 0/7] virtiofs Markus Frank
2024-01-31 12:01 ` Fiona Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d903fec1-b7f0-470c-850d-84526348bf38@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=m.frank@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal