On Fri, Aug 30, 2013 at 07:09:01PM +0800, Anand Jain wrote:
> as of now, when 'btrfs device add' adds a device it doesn't
> check if the given device contains an existing FS. This
> patch will change that to check the same. which when true
> add will fail, and ask user to use -f option to overwrite.
> 
> further, since now we have test_dev_for_mkfs() function
> to check if a disk can be used, so this patch will also
> use this function to test the given device before adding.

Patch is ok, but the argument handling does not use the common pattern:

> --- a/cmds-device.c
> +++ b/cmds-device.c
> @@ -53,12 +53,25 @@ static const char * const cmd_add_dev_usage[] = {
>  static int cmd_add_dev(int argc, char **argv)
>  {
>       char    *mntpnt;
> -     int     i, fdmnt, ret=0, e;
> +     int     i = 1, fdmnt, ret = 0, e;
>       DIR     *dirstream = NULL;
> +     int     c, force = 0;
> +     char    estr[100];
>  
>       if (check_argc_min(argc, 3))
>               usage(cmd_add_dev_usage);

check_argc_min belongs after argument processing

> +     while ((c = getopt(argc, argv, "f")) != -1) {
> +             switch (c) {
> +             case 'f':
> +                     force = 1;
> +                     i++;
> +                     break;
> +             default:
> +                     usage(cmd_add_dev_usage);
> +             }
> +     }

        argc -= optind;

        if (check_argc_min(...))
                usage();

> +
>       mntpnt = argv[argc - 1];

And here it gets more complicated as you'd have to add optind everywhere
argc is used.

I was working on a patch to add the --nodiscard parameter to 'device
add' so the work is done, but not yet posted:

http://repo.or.cz/w/btrfs-progs-unstable/devel.git/shortlog/refs/heads/dev/dev-add-notrim

Please base your patch on top of that or after when they hit the
mailinglist/integration.

david
--
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