On Sat, Sep 04, 2010 at 07:30:53PM -0400, Christoph Hellwig wrote:
> 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).
> > 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.
Agreed - we can't set the bit by default until the kernel has
suppoerted the feature for some time. A user who upgrades from a
kernel that doesn't support separate quotas can't downgrade if the
bit is automatically set if there are problems (and the problems
requiring downgrade might be completely unrelated to XFS).