In article <alpine.neb.2.22.394.2103312315530.28...@otaku.sdf.org>, RVP <r...@sdf.org> wrote: >On Thu, 1 Apr 2021, Joerg Sonnenberger wrote: > >> This should be fixed in the kernel. Seriously, stop adding more code to >> deal with garbage from the kernel. >> > >Indeed. Bug #56083 is caused by the wrong function being called: > >diff -u /usr/src/sys/fs/puffs/puffs_vfsops.c{.orig,} >--- /usr/src/sys/fs/puffs/puffs_vfsops.c.orig 2020-02-27 >22:12:53.000000000 +0000 >+++ /usr/src/sys/fs/puffs/puffs_vfsops.c 2021-03-30 >12:02:35.402544154 +0000 >@@ -503,7 +503,7 @@ > */ > copy_statvfs_info(sbp, mp); > if (!error) { >- statvfs_to_puffs_statvfs(sbp, &statvfs_msg->pvfsr_sb); >+ puffs_statvfs_to_statvfs(&statvfs_msg->pvfsr_sb, sbp); > }
This is not exactly right either, I fixed it. >The statvfs-filling sequence starting at line 219 doesn't look right >either: > > 219 struct statvfs *sb = STATVFSBUF_GET(); > 220 puffs_statvfs_to_statvfs(&args->pa_svfsb, sb); > 221 copy_statvfs_info(sb, mp); > 222 STATVFSBUF_PUT(sb); > 223 > 224 statvfs_to_puffs_statvfs(&mp->mnt_stat, &args->pa_svfsb); Why? The question is where does NFS return a 0 namelen... christos