ZFS: statfs and recordsize problem

From: Alexander Zagrebin <alexz_at_visp.ru>
Date: Thu, 18 Feb 2010 15:39:28 +0300
I have noticed, that statfs called for ZFS file systems,
returns the value of FS's recordsize property in both f_bsize and
f_iosize.

It's a problem for some software.
For example, squid uses block size of cache's file system to calculate
the space occupied by file.
So by default it considers that any small file uses 128KB of a cache
(when default value of recordsize is used), though really this file
may use 512B only.
This miscalculation leads to unreasonable cleaning of a cache.

IMHO the behavior of statfs have to be changed, as ZFS uses variable
(up to recordsize) block sizes.
It must return 512 as f_bsize and recordsize as f_iosize.
One of possible solutions is the attached patch.
Could somebody look it?

-- 
Alexander Zagrebin

Received on Thu Feb 18 2010 - 11:39:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:00 UTC