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); } PUFFS_MSG_RELEASE(statvfs); 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); -RVP