On Wed 22-10-14 18:29:15, Christoph Hellwig wrote:
> On Tue, Oct 21, 2014 at 04:38:26PM +0200, Jan Kara wrote:
> > Currently all filesystems supporting VFS quota support user and group
> > quotas. With introduction of project quotas this is going to change so
> > make sure filesystem isn't called for quota type it doesn't support by
> > introduction of a bitmask determining which quota types each filesystem
> > supports.
> Why don't you keep this bitmask in the dquot.c instead of pushing it
> to the caller? So far usage of s_dquot is mostly confined to dquot.c
> (with a few leaks to the filesystems using it), so keeping it that
> way seems like a good idea.
So there are two reasons:
1) Currently if you call quotactl() with invalid quota type you'll get
EINVAL. To maintain this with addition of project quotas you need to check
the types early before calling check_quotactl_permission() and other
2) I didn't want filesystem quotactl callbacks to deal with quota types
they don't support. Sure each fs could do a type check in the callback but
this looked easier.
Now I see your point about s_dquot and I can move allowed_types out of
s_dquot if that makes you happier. But otherwise what I did still seems as
the best solution to me.
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR