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

Re: VFS Quota project


From: Justin Sherrill <justin@xxxxxxxxxxxxxxxxxx>
Date: Thu, 18 Aug 2011 10:57:37 -0400

Are the PFSs in /pfs/ unusable for this quota work?   The null mounts
are used to place them in the normal file hierarchy, but on my
machine, /var is the null mount to /pfs/@@-1:00001, or /pfs/var,
depending on how you look at it. so I assume quotas could go against
/pfs/whatever.

I may be totally misunderstanding this.

On Thu, Aug 18, 2011 at 4:58 AM, Francois Tigeot <ftigeot@wolfpond.org> wrote:
> Hi,
>
> This project was initially proposed by Samuel J. Greear for GSoc 2010 but was
> not picked up:
>
> https://gist.github.com/846391
>
> Since Hammer would be much more useful to me with some form of quota support,
> and the friendly DragonFly developers convinced me kernel programming was not
> impossible to do, I gave this project a try.
>
> The code I've produced so far is available here:
> http://gitweb.dragonflybsd.org/~ftigeot/dragonfly.git/shortlog/refs/heads/vfs-quota
>
> Some of the design decisions I've made:
> - the implementations resides in the virtual filesystem layer, it is
>  independent from the different filesystems types
>
> - all operations are managed per volume/mount point.
>
> - accounting is separated from limit enforcing
>  In some cases, knowing how much to bill some users is enough
>
> For now, only accounting is implemented. It is automatically enabled for most
> volumes mounted read/write, and it is disabled for filesystems for which it
> wouldn't make sense such as ms-dos, devfs or nfs.
>
> Accounting data is not yet initialized at mount time and not permanently saved
> to the volumes but some skeleton code is there to do it in the future.
>
> Collected data can be shown with a new vquota(8) command:
>        $ vquota show /tmp
>
> It will print the size of written data for each uid and gid on the console
> (visible with dmesg)
>
>
> The only major issue I've found so far is with nullfs mounts: from the virtual
> filesystem layer point of view, they simply don't exist.
> All operations which should be done on a nullfs mount are instead done on the
> underlying non-nullfs volume.
>
> Since PFSes are mounted using nullfs, that means no PFS operation can be
> separated from its single hammer datastore, and makes PFSes useless for
> accounting and/or quota purposes.
>
> I'd love to find a solution to this problem.
>
> --
> Francois Tigeot
>




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