DragonFly kernel List (threaded) for 2011-03
Re: [gsoc 2011] - Interested in Implementing Userland IPC subsystem and VFS Quota
:I am still interested. Could someone tell, on what all files in the source
:tree should i learn and work with.
:Arjun S R <firstname.lastname@example.org>
Not sure about the userland ipc idea but the VFS quota system basically
comes down to keeping track of quota-related data in the vnode handling
layer & system calls, for the filesystem.
What we want to do is have the guts of the quota tracking system in the
generic kernel code and not in each individual VFS. This means tracking
file creation and deletion, truncations, truncate-extend, and
write-extend. And tracking it based on e.g. user id, group id, mount
What I would really like to do is be able to is have the quota system
operate based on subdirectory trees even if when are on the same
Some places to start would be e.g. sys_open() in vfs_syscalls.c.
open, unlink, link, creat, mkdir, rmdir, etc... file creation and
deletion occurs with a bunch of system calls.
For file truncation and extension, including write-extend (i.e. tracking
how much data there is), the best point to monitor that is in
nvtruncbuf() and nvextendbuf() which are in vfs_vm.c.
Unlike the old UFS quota system, we are not trying to count actual data
blocks with the kernel-layer quota system. We don't need to know about
'holes' in files as such. If someone creates a file and truncate-extends
it to 10GB then we want it to count as a 10GB file in a quota system even
if it isn't taking up 10GB of actual storage in the filesystem.