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 <ftig...@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 >