separate project quota from group quota (questions, design issues)

Christoph Hellwig hch at infradead.org
Sat Sep 4 18:30:53 CDT 2010


Thanks for doing this work Arek, I think it will be useful for some
users and defintively is cleaners than what we have now.

> I started doing that by splitting every group+project handling code into 
> separate group and project one. Added superblock field for project quota. New 
> feature flag (SEPARATEPQUOTA).

Ok.

> If old filesystem (for SEPARATEQUOTA) is mounted then I'll simply load 
> sb_gquotino into mp->m_sb.sb_pquotino which I think is enough to handle old fs 
> (since new kernel operates on separate structures for project quota).

Do you mean an old filesystem without the SEPARATEQUOTA bit set here?

> New filesystem (without quota inodes allocated yet), when mounted, gets new 
> quota inode allocated for project quota and SEPARATEQUOTA feature bit set.

I think we need the SEPARATEQUOTA bit set explicitly by
mkfs.xfs/xfs_admin.  But once we start using project quotas with the
bit set the above sounds fine.

> Converting old fs to separate quota isn't currently solved. User could need 
> two choices - use old group quota still as group or old group as new project 
> quota. Not sure how to handle these yet. 

We know what sb_gquotino is used for currently from sb_qflags.  If it's
used for group quota we can simply set the SEPARATEQUOTA bit and we're
done.  To convert a filesystem using project quotas to SEPARATEQUOTA
sb_gquotino needs to be cleared and instead the new sb_pquotino field
needs to point to the project quota inode.


Need to go now, I'll answer to your other questions once I had some more
time to review them.




More information about the xfs mailing list