summaryrefslogtreecommitdiff
path: root/cmds-device.c
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2018-01-07 13:54:21 -0800
committerDavid Sterba <dsterba@suse.com>2018-01-31 15:14:03 +0100
commite4df433b8a2d5ef944ab4764a5ad237bcdbd1fdc (patch)
tree19aa758dee389cea7c86c68ce1c8cc8e9a52836c /cmds-device.c
parent24103f42ad7a65457a62ae5c0190ea0e428cb14b (diff)
btrfs-progs: treewide: Replace strerror(errno) with %m.
As btrfs is specific to Linux, %m can be used instead of strerror(errno) in format strings. This has some size reduction benefits for embedded systems. glibc, musl, and uclibc-ng all support %m as a modifier to printf. A quick glance at the BIONIC libc source indicates that it has support for %m as well. BSDs and Windows do not but I do believe them to be beyond the scope of btrfs-progs. Compiled sizes on Ubuntu 16.04: Before: 3916512 btrfs 233688 libbtrfs.so.0.1 4899 bcp 2367672 btrfs-convert 2208488 btrfs-corrupt-block 13302 btrfs-debugfs 2152160 btrfs-debug-tree 2136024 btrfs-find-root 2287592 btrfs-image 2144600 btrfs-map-logical 2130760 btrfs-select-super 2152608 btrfstune 2131760 btrfs-zero-log 2277752 mkfs.btrfs 9166 show-blocks After: 3908744 btrfs 233256 libbtrfs.so.0.1 4899 bcp 2366560 btrfs-convert 2207432 btrfs-corrupt-block 13302 btrfs-debugfs 2151104 btrfs-debug-tree 2134968 btrfs-find-root 2281864 btrfs-image 2143536 btrfs-map-logical 2129704 btrfs-select-super 2151552 btrfstune 2130696 btrfs-zero-log 2276272 mkfs.btrfs 9166 show-blocks Total savings: 23928 (24 kilo)bytes Signed-off-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'cmds-device.c')
-rw-r--r--cmds-device.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/cmds-device.c b/cmds-device.c
index f4cdb39f..86459d1b 100644
--- a/cmds-device.c
+++ b/cmds-device.c
@@ -120,8 +120,8 @@ static int cmd_device_add(int argc, char **argv)
path = canonicalize_path(argv[i]);
if (!path) {
- error("could not canonicalize pathname '%s': %s",
- argv[i], strerror(errno));
+ error("could not canonicalize pathname '%s': %m",
+ argv[i]);
ret++;
goto error_out;
}
@@ -130,8 +130,7 @@ static int cmd_device_add(int argc, char **argv)
strncpy_null(ioctl_args.name, path);
res = ioctl(fdmnt, BTRFS_IOC_ADD_DEV, &ioctl_args);
if (res < 0) {
- error("error adding device '%s': %s",
- path, strerror(errno));
+ error("error adding device '%s': %m", path);
ret++;
}
free(path);
@@ -192,8 +191,7 @@ static int _cmd_device_remove(int argc, char **argv,
*/
if (res < 0 && (errno == ENOTTY || errno == EOPNOTSUPP)) {
if (is_devid) {
- error("device delete by id failed: %s",
- strerror(errno));
+ error("device delete by id failed: %m");
ret++;
continue;
}
@@ -311,8 +309,7 @@ static int cmd_device_scan(int argc, char **argv)
}
path = canonicalize_path(argv[i]);
if (!path) {
- error("could not canonicalize path '%s': %s",
- argv[i], strerror(errno));
+ error("could not canonicalize path '%s': %m", argv[i]);
ret = 1;
goto out;
}
@@ -355,8 +352,8 @@ static int cmd_device_ready(int argc, char **argv)
path = canonicalize_path(argv[optind]);
if (!path) {
- error("could not canonicalize pathname '%s': %s",
- argv[optind], strerror(errno));
+ error("could not canonicalize pathname '%s': %m",
+ argv[optind]);
ret = 1;
goto out;
}
@@ -371,8 +368,8 @@ static int cmd_device_ready(int argc, char **argv)
strncpy_null(args.name, path);
ret = ioctl(fd, BTRFS_IOC_DEVICES_READY, &args);
if (ret < 0) {
- error("unable to determine if device '%s' is ready for mount: %s",
- path, strerror(errno));
+ error("unable to determine if device '%s' is ready for mount: %m",
+ path);
ret = 1;
}
@@ -466,8 +463,8 @@ static int cmd_device_stats(int argc, char **argv)
args.flags = flags;
if (ioctl(fdmnt, BTRFS_IOC_GET_DEV_STATS, &args) < 0) {
- error("device stats ioctl failed on %s: %s",
- path, strerror(errno));
+ error("device stats ioctl failed on %s: %m",
+ path);
err |= 1;
} else {
char *canonical_path;