On 2016/03/09 10:19, Yauhen Kharuzhy wrote:
> commit 52179e4fea41e55f31c92cd033a0b53a5107b4f4 'btrfs-progs: unify argc
> min/max checking' brokes 'btrfs device scan' command when no argument
> was given. Fix this.
>
> Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@xxxxxxxxxxxxx>
> ---
> cmds-device.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/cmds-device.c b/cmds-device.c
> index cb470af..94ffdc5 100644
> --- a/cmds-device.c
> +++ b/cmds-device.c
> @@ -273,7 +273,7 @@ static int cmd_device_scan(int argc, char **argv)
> if (all && check_argc_max(argc - optind, 1))
It's better to the above line as follows.
========
if (all && check_argc_exact(argc - optind, 0))
========
> usage(cmd_device_scan_usage);
>
> - if (all || argc - optind == 1) {
> + if (all || argc - optind == 0) {
> printf("Scanning for Btrfs filesystems\n");
> ret = btrfs_scan_lblkid();
> error_on(ret, "error %d while scanning", ret);
>
Here is the test result.
* v4.4.1
======================
# ./btrfs device scan
Scanning for Btrfs filesystems
# ./btrfs device scan -d
Scanning for Btrfs filesystems
# ./btrfs device scan -d foo
btrfs device scan: too many arguments
usage: btrfs device scan [(-d|--all-devices)|<device> [<device>...]]
Scan devices for a btrfs filesystem
-d|--all-devices (deprecated)
==========================
* devel branch with this patch.
==========================
# ./btrfs device scan
Scanning for Btrfs filesystems
# ./btrfs device scan -d
Scanning for Btrfs filesystems
# ./btrfs device scan -d foo
Scanning for Btrfs filesystems
===========================
* devel branch without this patch.
==================
# ./btrfs device scan
# ./btrfs device scan -d
Scanning for Btrfs filesystems
# ./btrfs device scan -d foo
Scanning for Btrfs filesystems
===================
* devel branch with this patch and my patch.
=========================
# ./btrfs device scan
Scanning for Btrfs filesystems
# ./btrfs device scan -d
Scanning for Btrfs filesystems
# ./btrfs device scan -d foo
btrfs device scan: too many arguments
usage: btrfs device scan [(-d|--all-devices)|<device> [<device>...]]
Scan devices for a btrfs filesystem
-d|--all-devices (deprecated)
===========================
Thanks,
Satoru
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html