btrfs-progs: Describe optarg of -m option in the manpage of receive
Subsystems (2)
PATCH 1/2 btrfs-progs: Describe optarg of -m option in the manpage of receive
---
This patch can be applied to devel branch (commit: 4685a560811a)
--- Documentation/btrfs-receive.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Documentation/btrfs-receive.asciidoc +1 -1
@@ -43,7 +43,7 @@ or on EOF. --max-errors <N>:: Terminate as soon as N errors happened while processing commands from the send stream. Default value is 1. A value of 0 means no limit. --m:: +-m <mountpoint>:: The root mount point of the destination fs. + By default the mountpoint is searched in /proc/self/mounts.
Signature · 1 line
2.5.0
PATCH v2 2/2 fix a regression that "property" with -t option doesn't work
"property" is considered as working without any options from the following commit.
commit 176aeca9a148 ("btrfs-progs: add getopt stubs where needed")
However, we can pass -t option to this command.
* actual result
==================================================
$ ./btrfs prop list -t f /btrfs btrfs property list: invalid option -- 't' usage: btrfs property list [-t <type>] <object>
Lists available properties with their descriptions for the given object.
Please see the help of 'btrfs property get' for a description of objects and object types.
==================================================
* expected result
==================================================
$ ./btrfs prop list -t f /btrfs label Set/get label of device. ==================================================
---
v2: Reflect David's comment.
- Check the number of non-option arguments
--- cmds-property.c | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-)
cmds-property.c +16 -19
@@ -294,10 +294,11 @@ out:static void parse_args (int argc,char **argv,const char *const *usage_str,int *types,char **object, -char **name,char **value) +char **name,char **value,int min_nonopt_args) {int ret;char *type_str =NULL ; +int max_nonopt_args =0 ; optind =1 ;while (1 ) {
@@ -314,6 +315,17 @@ static void parse_args(int argc, char **argv, } } +if (object) + max_nonopt_args++; +if (name) + max_nonopt_args++; +if (value) + max_nonopt_args++; + +if (check_argc_min (argc - optind, min_nonopt_args) || +check_argc_max (argc - optind, max_nonopt_args)) +usage (usage_str); + *types =0 ;if (type_str) {if (!strcmp (type_str,"s" ) || !strcmp (type_str,"subvol" )) {
@@ -379,13 +391,8 @@ static int cmd_property_get(int argc, char **argv)char *name =NULL ;int types =0 ; -clean_args_no_options (argc, argv, cmd_property_get_usage); - -if (check_argc_min (argc,2 ) ||check_argc_max (argc,5 )) -usage (cmd_property_get_usage); -parse_args (argc, argv, cmd_property_get_usage, &types, &object, &name, -NULL ); +NULL ,1 );if (!object) {error ("invalid arguments" );usage (cmd_property_get_usage);
@@ -415,13 +422,8 @@ static int cmd_property_set(int argc, char **argv)char *value =NULL ;int types =0 ; -clean_args_no_options (argc, argv, cmd_property_set_usage); - -if (check_argc_min (argc,4 ) ||check_argc_max (argc,6 )) -usage (cmd_property_set_usage); -parse_args (argc, argv, cmd_property_set_usage, &types, - &object, &name, &value); + &object, &name, &value,3 );if (!object || !name || !value) {error ("invalid arguments" );usage (cmd_property_set_usage);
@@ -446,13 +448,8 @@ static int cmd_property_list(int argc, char **argv)char *object =NULL ;int types =0 ; -clean_args_no_options (argc, argv, cmd_property_list_usage); - -if (check_argc_min (argc,2 ) ||check_argc_max (argc,4 )) -usage (cmd_property_list_usage); -parse_args (argc, argv, cmd_property_list_usage, - &types, &object,NULL ,NULL ); + &types, &object,NULL ,NULL ,1 );if (!object) {error ("invalid arguments" );usage (cmd_property_list_usage);
Signature · 1 line
2.5.0
PATCH v2 2/2 btrfs-progs: Fix a regression that "property" with -t option doesn't work
Sorry, I forgot to add "btrfs-progs: " in the subject line.
---
"property" is considered as working without any options from the following commit.
commit 176aeca9a148 ("btrfs-progs: add getopt stubs where needed")
However, we can pass -t option to this command.
* actual result
==================================================
$ ./btrfs prop list -t f /btrfs btrfs property list: invalid option -- 't' usage: btrfs property list [-t <type>] <object>
Lists available properties with their descriptions for the given object.
Please see the help of 'btrfs property get' for a description of objects and object types.
==================================================
* expected result
==================================================
$ ./btrfs prop list -t f /btrfs label Set/get label of device. ==================================================
---
v2: Reflect David's comment.
- Check the number of non-option arguments
--- cmds-property.c | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-)
cmds-property.c +16 -19
@@ -294,10 +294,11 @@ out:static void parse_args (int argc,char **argv,const char *const *usage_str,int *types,char **object, -char **name,char **value) +char **name,char **value,int min_nonopt_args) {int ret;char *type_str =NULL ; +int max_nonopt_args =0 ; optind =1 ;while (1 ) {
@@ -314,6 +315,17 @@ static void parse_args(int argc, char **argv, } } +if (object) + max_nonopt_args++; +if (name) + max_nonopt_args++; +if (value) + max_nonopt_args++; + +if (check_argc_min (argc - optind, min_nonopt_args) || +check_argc_max (argc - optind, max_nonopt_args)) +usage (usage_str); + *types =0 ;if (type_str) {if (!strcmp (type_str,"s" ) || !strcmp (type_str,"subvol" )) {
@@ -379,13 +391,8 @@ static int cmd_property_get(int argc, char **argv)char *name =NULL ;int types =0 ; -clean_args_no_options (argc, argv, cmd_property_get_usage); - -if (check_argc_min (argc,2 ) ||check_argc_max (argc,5 )) -usage (cmd_property_get_usage); -parse_args (argc, argv, cmd_property_get_usage, &types, &object, &name, -NULL ); +NULL ,1 );if (!object) {error ("invalid arguments" );usage (cmd_property_get_usage);
@@ -415,13 +422,8 @@ static int cmd_property_set(int argc, char **argv)char *value =NULL ;int types =0 ; -clean_args_no_options (argc, argv, cmd_property_set_usage); - -if (check_argc_min (argc,4 ) ||check_argc_max (argc,6 )) -usage (cmd_property_set_usage); -parse_args (argc, argv, cmd_property_set_usage, &types, - &object, &name, &value); + &object, &name, &value,3 );if (!object || !name || !value) {error ("invalid arguments" );usage (cmd_property_set_usage);
@@ -446,13 +448,8 @@ static int cmd_property_list(int argc, char **argv)char *object =NULL ;int types =0 ; -clean_args_no_options (argc, argv, cmd_property_list_usage); - -if (check_argc_min (argc,2 ) ||check_argc_max (argc,4 )) -usage (cmd_property_list_usage); -parse_args (argc, argv, cmd_property_list_usage, - &types, &object,NULL ,NULL ); + &types, &object,NULL ,NULL ,1 );if (!object) {error ("invalid arguments" );usage (cmd_property_list_usage);
Signature · 1 line
2.5.0
David Sterba
AppliedRe: [PATCH 2/2 v2] btrfs-progs: Fix a regression that "property" with -t option doesn't work
Quoted 23 lines · Satoru Takeuchi
Sorry, I forgot to add "btrfs-progs: " in the subject line.
---
"property" is considered as working without any options from the following commit.commit
176aeca9a148("btrfs-progs: add getopt stubs where needed")However, we can pass -t option to this command.
* actual result
==================================================
$ ./btrfs prop list -t f /btrfs btrfs property list: invalid option -- 't' usage: btrfs property list [-t <type>] <object>Lists available properties with their descriptions for the given object.
Please see the help of 'btrfs property get' for a description of objects and object types.
==================================================
Quoted 8 lines
* expected result
==================================================
$ ./btrfs prop list -t f /btrfs label Set/get label of device. ==================================================Signed-off-by Satoru Takeuchi <[email protected]
Applied, thanks.
David Sterba
AppliedQuoted 1 line · Satoru Takeuchi
Signed-off-by Satoru Takeuchi <[email protected]>
Applied, thanks.