Date: Thu, 12 Feb 2026 18:14:40 +0100 From: Mario Marietto <marietto2008@gmail.com> To: Oleg Sidorkin <osidorkin@gmail.com> Cc: Emil Tsalapatis <emil@etsalapatis.com>, FreeBSD virtualization <freebsd-virtualization@freebsd.org> Subject: Re: RFC: Kernel virtiofs driver Message-ID: <CA%2B1FSihMEBiJcnxHii5YkynsvD7FNJsv2BXP10L9-wfZyrGZ4Q@mail.gmail.com> In-Reply-To: <CAGw%2BupJBFpm3ghkHqxO27TEqS_y2ruvPm=%2B76fmSFKCU-qYmmg@mail.gmail.com> References: <CABFh=a5HoDOHthe%2BavAAxpb3YN4W3FAGqCysdbyrBbr4Rw7rMg@mail.gmail.com> <CA%2B1FSijd9Cgr7KAL_pD0ACCr7%2BGTMoXR9zQ=skNVFdkstP6KJA@mail.gmail.com> <CAGw%2BupJBFpm3ghkHqxO27TEqS_y2ruvPm=%2B76fmSFKCU-qYmmg@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] --> Panics guest system in a few minutes (everything is ok when /obj is... FreeBSD 16 is working in progress ; virtiofs is work in progress...what do you expect ? On Thu, Feb 12, 2026 at 3:01 PM Oleg Sidorkin <osidorkin@gmail.com> wrote: > Hello. > > My favorite test to run in bhyve guest: > > root@:/usr/src # uname -a > FreeBSD 16.0-CURRENT FreeBSD 16.0-CURRENT #1 > main-n283712-16c902f05853: Sat Feb 7 02:10:47 MSK 2026 > olsi@:/usr/obj/usr/src/amd64.amd64/sys/QUADKERNEL amd64 > root@:/usr/src # mount > /dev/vtbd0p2 on / (ufs, local, soft-updates, journaled soft-updates) > devfs on /dev (devfs) > obj on /usr/obj (p9fs, local) > 192.168.2.1:/vms/freebsd-current/usr/home on /usr/home (nfs) > 192.168.2.1:/vms/freebsd-current/usr/src on /usr/src (nfs) > 192.168.2.1:/vms/freebsd-current/usr/lib/debug on /usr/lib/debug (nfs) > 192.168.2.1:/usr/ports/distfiles on /usr/ports/distfiles (nfs) > root@:/usr/src # make -j4 buildworld buildkernel > > Panics guest system in a few minutes (everything is ok when /obj is > mounted over nfs): > > db> bt > Tracing pid 2248 tid 100165 td 0xfffff80100eb8780 > kdb_enter() at kdb_enter+0x33/frame 0xfffffe006833e560 > panic() at panic+0x43/frame 0xfffffe006833e5c0 > freevnode() at freevnode+0x2d5/frame 0xfffffe006833e620 > vput_final() at vput_final+0x96/frame 0xfffffe006833e670 > vfs_hash_insert() at vfs_hash_insert+0x226/frame 0xfffffe006833e6c0 > p9fs_vget_common() at p9fs_vget_common+0x39b/frame 0xfffffe006833e770 > p9fs_lookup() at p9fs_lookup+0x4ad/frame 0xfffffe006833e8c0 > VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x57/frame 0xfffffe006833e8f0 > vfs_lookup() at vfs_lookup+0x5aa/frame 0xfffffe006833e980 > namei() at namei+0x35d/frame 0xfffffe006833e9e0 > kern_execve() at kern_execve+0x2d1/frame 0xfffffe006833ed80 > sys_execve() at sys_execve+0x54/frame 0xfffffe006833ee00 > amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe006833ef30 > fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe006833ef30 > --- syscall (59, FreeBSD ELF64, execve), rip = 0x2cc73682f46a, rsp = > 0x2cc731eb2028, rbp = 0x2cc731eb2170 --- > db> > > I'll be really happy to test virtiofs and I hope it will do better. > > Thanks > > вт, 10 февр. 2026 г. в 09:57, Mario Marietto <marietto2008@gmail.com>: > > > > Hello Emil, > > > > Inside a FreeBSD guest OS (15.0-RELEASE) I do : > > > > kldload virtio_p9fs > > > > kldload p9fs_load > > > > mount -t p9fs sharename /mnt/host > > > > This works for me,I can share files between FreeBSD 15.0 guest and > FreeBSD 14.3 host os. So,what's missing in this case and which features you > added ? > > > > Thanks. > > > > > > > > On Tue, Feb 10, 2026 at 4:05 AM Emil Tsalapatis <emil@etsalapatis.com> > wrote: > >> > >> Hi everyone, > >> > >> I recently finished the virtiofs driver and it is now ready for > review. The device allows for sharing directories between a FreeBSD guest > and a host. > >> > >> The driver really is two components: > >> > >> 1) The virtio device that sends FUSE tickets to and from the host: > D46295 > >> 2) The file system that gets mounted in the guest: D46296. > >> > >> To test it you need a couple additional fixes/workarounds for > FUSE-related issues. You can grab a working tree here or apply diffs D55047 > and D55046. D55046 is a workaround, but still prevents an assertion failure > related to FUSE caching until the underlying issue is properly fixed on > HEAD. > >> > >> To use it, make sure you are creating virtiofs device on the host then > from the FreeBSD guest run > >> > >> mount -t virtiofs <tag> <mountpoint> > >> > >> where <tag> is the name tag you gave to the virtiofs device in the host > VMM. > >> > >> Reviews and testing welcome! > >> > >> Thanks, > >> Emil > >> > >> > > > > > > -- > > Mario. > > > > -- > Oleg Sidorkin > -- Mario. [-- Attachment #2 --] <div dir="ltr"><div>--> Panics guest system in a few minutes (everything is ok when /obj is...</div><div><br></div><div>FreeBSD 16 is working in progress ; virtiofs is work in progress...what do you expect ? </div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Feb 12, 2026 at 3:01 PM Oleg Sidorkin <<a href="mailto:osidorkin@gmail.com">osidorkin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello.<br> <br> My favorite test to run in bhyve guest:<br> <br> root@:/usr/src # uname -a<br> FreeBSD 16.0-CURRENT FreeBSD 16.0-CURRENT #1<br> main-n283712-16c902f05853: Sat Feb 7 02:10:47 MSK 2026<br> olsi@:/usr/obj/usr/src/amd64.amd64/sys/QUADKERNEL amd64<br> root@:/usr/src # mount<br> /dev/vtbd0p2 on / (ufs, local, soft-updates, journaled soft-updates)<br> devfs on /dev (devfs)<br> obj on /usr/obj (p9fs, local)<br> 192.168.2.1:/vms/freebsd-current/usr/home on /usr/home (nfs)<br> 192.168.2.1:/vms/freebsd-current/usr/src on /usr/src (nfs)<br> 192.168.2.1:/vms/freebsd-current/usr/lib/debug on /usr/lib/debug (nfs)<br> 192.168.2.1:/usr/ports/distfiles on /usr/ports/distfiles (nfs)<br> root@:/usr/src # make -j4 buildworld buildkernel<br> <br> Panics guest system in a few minutes (everything is ok when /obj is<br> mounted over nfs):<br> <br> db> bt<br> Tracing pid 2248 tid 100165 td 0xfffff80100eb8780<br> kdb_enter() at kdb_enter+0x33/frame 0xfffffe006833e560<br> panic() at panic+0x43/frame 0xfffffe006833e5c0<br> freevnode() at freevnode+0x2d5/frame 0xfffffe006833e620<br> vput_final() at vput_final+0x96/frame 0xfffffe006833e670<br> vfs_hash_insert() at vfs_hash_insert+0x226/frame 0xfffffe006833e6c0<br> p9fs_vget_common() at p9fs_vget_common+0x39b/frame 0xfffffe006833e770<br> p9fs_lookup() at p9fs_lookup+0x4ad/frame 0xfffffe006833e8c0<br> VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x57/frame 0xfffffe006833e8f0<br> vfs_lookup() at vfs_lookup+0x5aa/frame 0xfffffe006833e980<br> namei() at namei+0x35d/frame 0xfffffe006833e9e0<br> kern_execve() at kern_execve+0x2d1/frame 0xfffffe006833ed80<br> sys_execve() at sys_execve+0x54/frame 0xfffffe006833ee00<br> amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe006833ef30<br> fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe006833ef30<br> --- syscall (59, FreeBSD ELF64, execve), rip = 0x2cc73682f46a, rsp =<br> 0x2cc731eb2028, rbp = 0x2cc731eb2170 ---<br> db><br> <br> I'll be really happy to test virtiofs and I hope it will do better.<br> <br> Thanks<br> <br> вт, 10 февр. 2026 г. в 09:57, Mario Marietto <<a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a>>:<br> ><br> > Hello Emil,<br> ><br> > Inside a FreeBSD guest OS (15.0-RELEASE) I do :<br> ><br> > kldload virtio_p9fs<br> ><br> > kldload p9fs_load<br> ><br> > mount -t p9fs sharename /mnt/host<br> ><br> > This works for me,I can share files between FreeBSD 15.0 guest and FreeBSD 14.3 host os. So,what's missing in this case and which features you added ?<br> ><br> > Thanks.<br> ><br> ><br> ><br> > On Tue, Feb 10, 2026 at 4:05 AM Emil Tsalapatis <<a href="mailto:emil@etsalapatis.com" target="_blank">emil@etsalapatis.com</a>> wrote:<br> >><br> >> Hi everyone,<br> >><br> >> I recently finished the virtiofs driver and it is now ready for review. The device allows for sharing directories between a FreeBSD guest and a host.<br> >><br> >> The driver really is two components:<br> >><br> >> 1) The virtio device that sends FUSE tickets to and from the host: D46295<br> >> 2) The file system that gets mounted in the guest: D46296.<br> >><br> >> To test it you need a couple additional fixes/workarounds for FUSE-related issues. You can grab a working tree here or apply diffs D55047 and D55046. D55046 is a workaround, but still prevents an assertion failure related to FUSE caching until the underlying issue is properly fixed on HEAD.<br> >><br> >> To use it, make sure you are creating virtiofs device on the host then from the FreeBSD guest run<br> >><br> >> mount -t virtiofs <tag> <mountpoint><br> >><br> >> where <tag> is the name tag you gave to the virtiofs device in the host VMM.<br> >><br> >> Reviews and testing welcome!<br> >><br> >> Thanks,<br> >> Emil<br> >><br> >><br> ><br> ><br> > --<br> > Mario.<br> <br> <br> <br> -- <br> Oleg Sidorkin<br> </blockquote></div><div><br clear="all"></div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Mario.<br></div>home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B1FSihMEBiJcnxHii5YkynsvD7FNJsv2BXP10L9-wfZyrGZ4Q>
