DragonFly BSD
DragonFly kernel List (threaded) for 2011-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: [gsoc 2011] - Interested in Implementing Userland IPC subsystem and VFS Quota


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 25 Mar 2011 10:53:29 -0700 (PDT)

:I am still interested. Could someone tell, on what all files in the source
:tree should i learn and work with.
:
:--
:Arjun S R <arjun1296@gmail.com>

    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
    point.

    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
    mount point.

    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.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]