xfs
[Top] [All Lists]

Re: [PATCH 03/12] xfs: Set allowed quota types

To: Jan Kara <jack@xxxxxxx>
Subject: Re: [PATCH 03/12] xfs: Set allowed quota types
From: Andreas Dilger <adilger@xxxxxxxxx>
Date: Tue, 7 Oct 2014 13:46:20 -0600
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, Ext4 Developers List <linux-ext4@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, cluster-devel <cluster-devel@xxxxxxxxxx>, Steven Whitehouse <swhiteho@xxxxxxxxxx>, Mark Fasheh <mfasheh@xxxxxxxx>, Joel Becker <jlbec@xxxxxxxxxxxx>, ocfs2-devel@xxxxxxxxxxxxxx, reiserfs-devel@xxxxxxxxxxxxxxx, Jeff Mahoney <jeffm@xxxxxxx>, Dave Kleikamp <shaggy@xxxxxxxxxx>, jfs-discussion@xxxxxxxxxxxxxxxxxxxxx, tytso@xxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20141007192935.GF30038@xxxxxxxxxxxxx>
References: <1412191894-9113-1-git-send-email-jack@xxxxxxx> <1412191894-9113-4-git-send-email-jack@xxxxxxx> <20141006203028.GB2301@dastard> <20141007192935.GF30038@xxxxxxxxxxxxx>
On Oct 7, 2014, at 1:29 PM, Jan Kara <jack@xxxxxxx> 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: xfs@xxxxxxxxxxx
>>> CC: Dave Chinner <david@xxxxxxxxxxxxx>
>>> Signed-off-by: Jan Kara <jack@xxxxxxx>
>>> ---
>>> 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.

Cheers, Andreas





Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

<Prev in Thread] Current Thread [Next in Thread>