'btrfs fi df' needs exactly one arguments as mount option, but as 3.17 we can run 'btrfs fi df' without any argument, and it will error as "ERROR: can't access '%s'" which means the argument number does not do what it should.
The bug is caused by manually modify the optind and use check_argc_max() instead of the original check_argc_exact(). This patch fixes it by not modifying the optind and use check_argc_exact() again. Signed-off-by: Qu Wenruo <quwen...@cn.fujitsu.com> --- changlog: v2: Don't introduce opt_num, use optind directly --- cmds-filesystem.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmds-filesystem.c b/cmds-filesystem.c index bb5881e..70223d8 100644 --- a/cmds-filesystem.c +++ b/cmds-filesystem.c @@ -241,7 +241,6 @@ static int cmd_df(int argc, char **argv) DIR *dirstream = NULL; unsigned unit_mode = UNITS_DEFAULT; - optind = 1; while (1) { int long_index; static const struct option long_options[] = { @@ -290,7 +289,7 @@ static int cmd_df(int argc, char **argv) } } - if (check_argc_max(argc, optind + 1)) + if (check_argc_exact(argc, optind + 1)) usage(cmd_df_usage); path = argv[optind]; -- 2.1.2 -- 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