by Jan Kara[permalink] [raw]
> On Oct 26, 11:00am, Stephen C. Tweedie wrote:
> > Subject: Re: Quota mods needed for journaled quota
> > ...
> > > This would allow ext3 to do that which it needs to do differently
> > > at Q_QUOTAON and would also allow Jan's changes to work in such
> > > a way that both the current form of dquot structure and his new
> > > version of dquots could be used together
> > Adding the init_quota hook would do that, as the filesystem will be
> > able to install its own dq_ops methods during the init so we get the
> > flexibility you are asking for anyway.
> Hmmm ... I'm not so sure. In order to have the flexibility
> of filesystem-specific dquot formats, the struct dquot would
> need to become more like struct inode/super_block, i.e. not
> hardcoding the ondisk structure into the incore structure
> (using a union and a generic pointer, as inode/super_block do).
> The DQUOT_SYNC mechanism would need to be able to be overridden
> per-filesystem also. It isn't really as cut-and-dried as "per-
> filesystem" either, because an ext2/3 filesystem might make use
> of either the original dquot format or Jan's newer format, either
> at mount time or even after doing a quota_off & quota_on with a
> new quota file format (that would be quite clean).
Hmm. Probably I wouldn't allow to override quotactl() but make it like
other callbacks - operations like quota_on() quota_off() and so
could be overridden (or better filesystem could specify callback to be called
after some generic work), quotactl() will call foo_quotactl() if it won't
recognize the operation number.
But I don't feel urgent need of this redesign so I would wait for some
time so current fixes can settle down...