There are two patches for review. The HACK-disk disrupts the code as little as possible.
Although this fixes the FreeBSD 5.x compile bug, I think there is something flawed in the code surrounding the patch. Why calculate inode percentage every time through this function ? Why do the pre-processor statements form expressions that represent members from different structure types ? I think that the patch freebsd5-net51-disk retains the spirit of the implementation, is more maintainable (because it is easier to read), and defers calculation until needed.
HACK-disk
Description: Binary data
freebsd5-net51-disk
Description: Binary data
