Re: [PATCH 03/12] xfs: Set allowed quota types
Jan Kara <[email protected]>
| Newsgroups | gmane.comp.file-systems.jfs.general |
|---|---|
| Message-ID | <20141008084251.GB11781__49812.974225688$1412757809$gmane$org@quack.suse.cz> |
On Tue 07-10-14 13:46:20, Andreas Dilger wrote: > On Oct 7, 2014, at 1:29 PM, Jan Kara <[email protected]> wrote: > > On Tue 07-10-14 07:30:28, Dave Chinner wrote: > >> On Wed, Oct 01, 2014 at 09:31:25PM +0200, Jan Kara wrote: > >>> We support user, group, and project quotas. Tell VFS about it. > >>> > >>> CC: [email protected] > >>> CC: Dave Chinner <[email protected]> > >>> Signed-off-by: Jan Kara <[email protected]> > >>> --- > >>> fs/xfs/xfs_super.c | 2 ++ > >>> 1 file changed, 2 insertions(+) > >>> > >>> diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > >>> index b194652033cd..b32e998e8cbc 100644 > >>> --- a/fs/xfs/xfs_super.c > >>> +++ b/fs/xfs/xfs_super.c > >>> @@ -1419,6 +1419,8 @@ xfs_fs_fill_super( > >>> sb->s_export_op = &xfs_export_operations; > >>> #ifdef CONFIG_XFS_QUOTA > >>> sb->s_qcop = &xfs_quotactl_operations; > >>> + sb->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) | > >>> + (1 << PRJQUOTA); > >> > >> Would it be better to define masks for these rather than open > >> coding these shifts everywhere? > > I can do that. Any suggestion for a name? I was thinking about it for a > > while and couldn't come up with anything satisfactory... > > Better to have QUOTA at the start, and TYPE in the name, so maybe: > > enum quota_types { > QUOTA_TYPE_USR = 1 << USRQUOTA, > QUOTA_TYPE_GRP = 1 << GRPQUOTA, > QUOTA_TYPE_PRJ = 1 << PRJQUOTA, > }; > > or maybe "enum quota_type_mask" or similar. > > I prefer named enums over #defines since this makes it more clear > when declaring variables like "allowed_types" what valid values are > instead of just "int" that someone might mistakenly set to USRQUOTA > directly or something. OK, QUOTA_TYPE_USR etc. looks good. I'm not so sure about named enum. I'd be fine with named enum for USRQUOTA, GRPQUOTA, etc. - i.e., types which should have one of the named values but for a bitmask with arbitrary combinations of flags it looks confusing to me (although technically it would work). Honza -- Jan Kara <[email protected]> SUSE Labs, CR ------------------------------------------------------------------------------ Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk