Re: VFS mount rollback for virtio 9pfs

From: Felix Palmen <felix_at_palmen-it.de>
Date: Fri, 15 Jul 2022 13:16:56 UTC
* Daniel O'Connor <darius@dons.net.au> [20220714 20:57]:
> That's the plan but if you want to test it you should be able to clone
> the repo [...]

I tested it, successful so far as it seems! Thanks again!

My usecase is a 14-CURRENT VM I mostly use for testing ports with
poudriere. It's only running when needed (cause it hogs quite some RAM)
and still I want the logs always available. So far I used NFS for that
which had some performance issues with ports producing *lots* of output
like e.g. gcc.

Now it's using 9pfs instead \o/ – will see whether this improves
performance.

----
For reference (if anyone else wants to give it a shot), here's what I
did so far:

- fetched your branch into my local src repo, rebased it onto main
- rebuilt and reinstalled the system
- tried to load the modules, noticed they're not yet included in
  recursive build (remind me to add that, hehe), so manually did
  make / make install in their dirs
- added virtio_9pnet and virtio_9pfs to kld_list in /etc/rc.conf
- couldn't figure out how to use it with fstab, so added this stupid
  little rc script:

/usr/local/etc/rc.d/mountvirtfs
#v+
#!/bin/sh

# PROVIDE: mountvirtfs
# REQUIRE: DAEMON
# BEFORE: LOGIN

. /etc/rc.subr

name="mountvirtfs"
desc="mount VirtFS shares from host"
start_cmd="mountvirtfs_start"
stop_cmd=":"

mountvirtfs_start()
{
        mount -t virtfs -o trans=virtio logs /usr/local/poudriere/data/logs
        mount -t virtfs -o trans=virtio html /usr/local/share/poudriere/html
}

run_rc_command "$1"
#v-

Well, it works!
# mount | grep virtfs
logs on /usr/local/poudriere/data/logs (virtfs, local)
html on /usr/local/share/poudriere/html (virtfs, local)

BR, Felix

-- 
 Dipl.-Inform. Felix Palmen  <felix@palmen-it.de>   ,.//..........
 {web}  http://palmen-it.de  {jabber} [see email]   ,//palmen-it.de
 {pgp public key}     http://palmen-it.de/pub.txt   //   """""""""""
 {pgp fingerprint} A891 3D55 5F2E 3A74 3965 B997 3EF2 8B0A BC02 DA2A