Hi, Since last summer, I have been working on a vfs accounting subsystem in my spare time.
The idea comes from an old Summer of Code proposal to implement filesystem-agnostic quota support: https://gist.github.com/846391 The vfs-accounting branch is not a quota implementation (yet). All it does is count bytes used on the different mounted filesystems. There is a global counter per mount point, as well as uid and gid-specific ones. The code is visible here: http://gitweb.dragonflybsd.org/~ftigeot/dragonfly.git/shortlog/refs/heads/vfs-accounting You can check it out locally by running the following commands: git remote add leaf git://leaf.dragonflybsd.org/~ftigeot/dragonfly.git git branch vfs-accounting leaf/vfs-accounting git checkout vfs-accounting After a complete world + kernel build sequence, you'll be able to use a new vquota(8) utility to see and manipulate the kernel counters Some of the interesting commands are: vquota lsfs => shows the mount points with vfs accounting enabled vquota show /mount/point => returns a list of space used by uid and gid on a mounted filesystem vquota check /directory/name => scans a directory for real filesystem usage vquota sync /mount/point => scans the mounted filesystem for its real usage and initializes the in-kernel counters to the right values The counters are not persistent between reboots; they are initialized to 0 at startup; vquota sync has to be run first to get meaningful results on persistent filesystems. Enjoy! -- Francois Tigeot