Re: [PATCH 1/1 linux-next] ceph: use standard Opt_err

From: Ilya Dryomov
Date: Mon Jun 15 2015 - 05:30:54 EST


On Sun, Jun 14, 2015 at 12:05 PM, Fabian Frederick <fabf@xxxxxxxxx> wrote:
>
>
>> On 08 June 2015 at 09:49 Ilya Dryomov <idryomov@xxxxxxxxx> wrote:
>>
>>
>> On Fri, Jun 5, 2015 at 10:12 PM, Fabian Frederick <fabf@xxxxxxxxx> wrote:
>> > ceph used -1 for the last match_table_t option.
>> > Use Opt_err enum like other FS
>> >
>> > match_token() is based on the pattern (NULL)
>> > so behavior should remain the same.
>> >
>> > Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
>> > ---
>> > This is untested. If this one is ok, I can send the same update
>> > for rbd and net/ceph.
>> >
>> > fs/ceph/super.c | 5 +++--
>> > 1 file changed, 3 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/fs/ceph/super.c b/fs/ceph/super.c
>> > index 4e99053..35ef692 100644
>> > --- a/fs/ceph/super.c
>> > +++ b/fs/ceph/super.c
>> > @@ -137,7 +137,8 @@ enum {
>> > #ifdef CONFIG_CEPH_FS_POSIX_ACL
>> > Opt_acl,
>> > #endif
>> > - Opt_noacl
>> > + Opt_noacl,
>> > + Opt_err
>> > };
>> >
>> > static match_table_t fsopt_tokens = {
>> > @@ -169,7 +170,7 @@ static match_table_t fsopt_tokens = {
>> > {Opt_acl, "acl"},
>> > #endif
>> > {Opt_noacl, "noacl"},
>> > - {-1, NULL}
>> > + {Opt_err, NULL}
>> > };
>> >
>> > static int parse_fsopt_token(char *c, void *private)
>>
>> This would result in a BUG on any unknown option - match_token->token
>> is what match_token() returns and parse_fsopt_token() clearly expects
>> that to be a negative value.
>>
>> Thanks,
>
> Maybe we could remove the following test ?
>
> token = match_token((char *)c, fsopt_tokens, argstr);
> if (token < 0)
> return -EINVAL;
>
> and return -EINVAL in switch default case ?

Sounds good.

Thanks,

Ilya
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/