Date: Tue, 28 Aug 2007 20:28:12 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/compat/freebsd32 freebsd32_misc.c src/sys/kern vfs_syscalls.c src/sys/sys mount.h Message-ID: <200708282028.l7SKSD4u028065@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Log:
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708282028.l7SKSD4u028065>
