btrfs-progs: prop: convert error messages to use error()
PATCH 1/3 btrfs-progs: prop: convert error messages to use error()
props.c uses 'fprintf(stderr, "ERROR: ...")' as its error messages, however we have generic error() function.
--- props.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-)
props.c +9 -12
@@ -48,7 +48,7 @@ static int prop_read_only(enum prop_object_type type, fd =open (object,O_RDONLY );if (fd <0 ) { ret = -errno; -fprintf (stderr,"ERROR: open %s failed. %s\n" , +error ("open %s failed. %s" , object,strerror (-ret)); goto out; }
@@ -56,7 +56,7 @@ static int prop_read_only(enum prop_object_type type, ret =ioctl (fd,BTRFS_IOC_SUBVOL_GETFLAGS , &flags);if (ret <0 ) { ret = -errno; -fprintf (stderr,"ERROR: failed to get flags for %s. %s\n" , +error ("failed to get flags for %s. %s" , object,strerror (-ret)); goto out; }
@@ -76,14 +76,14 @@ static int prop_read_only(enum prop_object_type type, flags = flags & ~BTRFS_SUBVOL_RDONLY ; }else { ret = -EINVAL ; -fprintf (stderr,"ERROR: invalid value for property.\n" ); +error ("invalid value for property." ); goto out; } ret =ioctl (fd,BTRFS_IOC_SUBVOL_SETFLAGS , &flags);if (ret <0 ) { ret = -errno; -fprintf (stderr,"ERROR: failed to set flags for %s. %s\n" , +error ("failed to set flags for %s. %s" , object,strerror (-ret)); goto out; }
@@ -130,8 +130,7 @@ static int prop_compression(enum prop_object_type type, fd =open_file_or_dir3 (object, &dirstream, open_flags);if (fd ==-1 ) { ret = -errno; -fprintf (stderr,"ERROR: open %s failed. %s\n" , - object,strerror (-ret)); +error ("open %s failed. %s" , object,strerror (-ret)); goto out; }
@@ -151,9 +150,8 @@ static int prop_compression(enum prop_object_type type,if (sret <0 ) { ret = -errno;if (ret != -ENOATTR ) -fprintf (stderr, -"ERROR: failed to %s compression for %s. %s\n" , - value ?"set" :"get" , object,strerror (-ret)); +error ("failed to %s compression for %s. %s" , + value ?"set" :"get" , object,strerror (-ret));else ret =0 ; goto out;
@@ -169,9 +167,8 @@ static int prop_compression(enum prop_object_type type, sret =fgetxattr (fd, xattr_name, buf, len);if (sret <0 ) { ret = -errno; -fprintf (stderr, -"ERROR: failed to get compression for %s. %s\n" , - object,strerror (-ret)); +error ("failed to get compression for %s. %s" , + object,strerror (-ret)); goto out; }fprintf (stdout,"compression=%.*s\n" , (int )len, buf);
Signature · 1 line
2.5.5
PATCH 2/3 btrfs-progs: prop: simplify parse_args()
Since <object> parameter is mandatory for all subcommands, 'object' is always set by parse_args()'s callers.
In addition, on setting '*name' and '*value', if 'optind < argc' is satisfied here, they are always set by parse_args()'s callers.
--- cmds-property.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
cmds-property.c +5 -8
@@ -298,7 +298,7 @@ static void parse_args(int argc, char **argv, {int ret;char *type_str =NULL ; -int max_nonopt_args =0 ; +int max_nonopt_args =1 ; optind =1 ;while (1 ) {
@@ -315,8 +315,6 @@ static void parse_args(int argc, char **argv, } } -if (object) - max_nonopt_args++;if (name) max_nonopt_args++;if (value)
@@ -345,14 +343,13 @@ static void parse_args(int argc, char **argv, } } -if (object && optind < argc) - *object = argv[optind++]; -if (name && optind < argc) + *object = argv[optind++]; +if (optind < argc) *name = argv[optind++]; -if (value && optind < argc) +if (optind < argc) *value = argv[optind++]; -if (!*types && object && *object) { +if (!*types) { ret =autodetect_object_types (*object, types);if (ret <0 ) { error("failed to detect object type: %s",
Signature · 1 line
2.5.5
PATCH 3/3 btrfs-progs: prop: remove conditions which never be satisfied
In reply to Satoru Takeuchiparse_args() always set at least one parameter, 'object', for {get,list} subcommands. In addition, it always set all three parameters, 'object', 'name', and 'value' for set subcommand. So the following conditions can be removed.
--- cmds-property.c | 12 ------------ 1 file changed, 12 deletions(-)
cmds-property.c +0 -12
@@ -385,10 +385,6 @@ static int cmd_property_get(int argc, char **argv)parse_args (argc, argv, cmd_property_get_usage, &types, &object, &name,NULL ,1 ); -if (!object) { -error ("invalid arguments" ); -usage (cmd_property_get_usage); - }if (name) ret =setget_prop (types, object, name,NULL );
@@ -416,10 +412,6 @@ static int cmd_property_set(int argc, char **argv)parse_args (argc, argv, cmd_property_set_usage, &types, &object, &name, &value,3 ); -if (!object || !name || !value) { -error ("invalid arguments" ); -usage (cmd_property_set_usage); - } ret =setget_prop (types, object, name, value);
@@ -442,10 +434,6 @@ static int cmd_property_list(int argc, char **argv)parse_args (argc, argv, cmd_property_list_usage, &types, &object,NULL ,NULL ,1 ); -if (!object) { -error ("invalid arguments" ); -usage (cmd_property_list_usage); - } ret =dump_props (types, object,1 );
Signature · 1 line
2.5.5
Quoted 4 lines · Satoru Takeuchi
props.cuses 'fprintf(stderr, "ERROR: ...")' as its error messages, however we have genericerror()function.Signed-off-by Satoru Takeuchi <[email protected]>
All applied, thanks. I did some minor tweaks to the messages in 1/3 to be consistent with the rest.