From e4df433b8a2d5ef944ab4764a5ad237bcdbd1fdc Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 7 Jan 2018 13:54:21 -0800 Subject: 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 Signed-off-by: David Sterba --- cmds-quota.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'cmds-quota.c') diff --git a/cmds-quota.c b/cmds-quota.c index 15bd4b93..745889d1 100644 --- a/cmds-quota.c +++ b/cmds-quota.c @@ -35,7 +35,6 @@ static int quota_ctl(int cmd, int argc, char **argv) { int ret = 0; int fd; - int e; char *path = argv[1]; struct btrfs_ioctl_quota_ctl_args args; DIR *dirstream = NULL; @@ -51,10 +50,9 @@ static int quota_ctl(int cmd, int argc, char **argv) return 1; ret = ioctl(fd, BTRFS_IOC_QUOTA_CTL, &args); - e = errno; close_file_or_dir(fd, dirstream); if (ret < 0) { - error("quota command failed: %s", strerror(e)); + error("quota command failed: %m"); return 1; } return 0; @@ -158,8 +156,7 @@ static int cmd_quota_rescan(int argc, char **argv) if (ioctlnum == BTRFS_IOC_QUOTA_RESCAN_STATUS) { close_file_or_dir(fd, dirstream); if (ret < 0) { - error("could not obtain quota rescan status: %s", - strerror(e)); + error("could not obtain quota rescan status: %m"); return 1; } if (!args.flags) @@ -174,7 +171,7 @@ static int cmd_quota_rescan(int argc, char **argv) printf("quota rescan started\n"); fflush(stdout); } else if (ret < 0 && (!wait_for_completion || e != EINPROGRESS)) { - error("quota rescan failed: %s", strerror(e)); + error("quota rescan failed: %m"); close_file_or_dir(fd, dirstream); return 1; } @@ -183,8 +180,7 @@ static int cmd_quota_rescan(int argc, char **argv) ret = ioctl(fd, BTRFS_IOC_QUOTA_RESCAN_WAIT, &args); e = errno; if (ret < 0) { - error("quota rescan wait failed: %s", - strerror(e)); + error("quota rescan wait failed: %m"); close_file_or_dir(fd, dirstream); return 1; } -- cgit v1.2.3