H Iam,

On 02/08/2013 01:36 AM, Ian Kumlien wrote:
> This patch includes the functionality of btrfs, it's
> found as "btrfs check" however it makes the binary
> behave differently depending on what it's run as.
[...]

>  
> +static int cmd_dummy(int argc, char **argv)
> +{
> +     return 0;

I think we should warn that fsck.btrfs does nothing. Something like:
 +      fprintf(stderr, "WARNING: fsck.btrfs does nothing. "
                "Try 'btrfs check'\n");



> +}
> +
> +/* change behaviour depending on what we're called */
> +const struct cmd_group function_cmd_group = {
> +     NULL, NULL,
> +     {
> +             { "btrfsck", cmd_check, NULL, NULL, 0 },
> +             { "fsck.btrfs", cmd_dummy, NULL, NULL, 0 },
> +             { 0, 0, 0, 0, 0 }
> +     },
> +};
> +
>  int main(int argc, char **argv)
>  {
>       const struct cmd_struct *cmd;
> +     char *called_as = strrchr(argv[0], '/');
> +     if (called_as)
> +             argv[0] = ++called_as;
>  
>       crc32c_optimization_init();
>  
> -     argc--;
> -     argv++;
> -     handle_options(&argc, &argv);
> -     if (argc > 0) {
> -             if (!prefixcmp(argv[0], "--"))
> -                     argv[0] += 2;
> -     } else {
> -             usage_command_group(&btrfs_cmd_group, 0, 0);
> -             exit(1);
> -     }
> +     /* if we have cmd, we're started as a sub command */
> +     if (parse_one_exact_token(argv[0], &function_cmd_group, &cmd) < 0)
> +     {
> +             argc--;
> +             argv++;
>  
> -     cmd = parse_command_token(argv[0], &btrfs_cmd_group);
> +             handle_options(&argc, &argv);
> +             if (argc > 0) {
> +                     if (!prefixcmp(argv[0], "--"))
> +                             argv[0] += 2;

I can't understand the reason to skip '--' ? But this question is not
related to your patch...

> +             } else {
> +                     usage_command_group(&btrfs_cmd_group, 0, 0);
[...]

-- 
gpg @keyserver.linux.it: Goffredo Baroncelli (kreijackATinwind.it>
Key fingerprint BBF5 1610 0B64 DAC6 5F7D  17B2 0EDA 9B37 8B82 E0B5
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to