cvs commit: src/sys/compat/freebsd32 freebsd32_misc.c src/sys/kern vfs_syscalls.c src/sys/sys mount.h

John Baldwin jhb at
Tue Aug 28 13:28:13 PDT 2007

jhb         2007-08-28 20:28:12 UTC

  FreeBSD src repository

  Modified files:
    sys/compat/freebsd32 freebsd32_misc.c 
    sys/kern             vfs_syscalls.c 
    sys/sys              mount.h 
  Rework the routines to convert a 5.x+ statfs structure (with fixed-size
  64-bit counters) to a 4.x statfs structure (with long-sized counters).
  - For block counters, we scale up the block size sufficiently large so
    that the resulting block counts fit into a the long-sized (long for the
    ABI, so 32-bit in freebsd32) counters.  In 4.x the NFS client's statfs
    VOP did this already.  This can lie about the block size to 4.x binaries,
    but it presents a more accurate picture of the ratios of free and
    available space.
  - For non-block counters, fix the freebsd32 stats converter to cap the
    values at INT32_MAX rather than losing the upper 32-bits to match the
    behavior of the 4.x statfs conversion routine in vfs_syscalls.c
  Approved by:    re (kensmith)
  Revision  Changes    Path
  1.67      +9 -9      src/sys/compat/freebsd32/freebsd32_misc.c
  1.442     +46 -4     src/sys/kern/vfs_syscalls.c
  1.227     +1 -0      src/sys/sys/mount.h

More information about the cvs-src mailing list