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 --- tests/fssum.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) (limited to 'tests/fssum.c') diff --git a/tests/fssum.c b/tests/fssum.c index 5dde9984..2bda5df8 100644 --- a/tests/fssum.c +++ b/tests/fssum.c @@ -532,8 +532,8 @@ sum(int dirfd, int level, sum_t *dircs, char *path_prefix, char *path_in) } ret = lstat64(namelist[i], &st); if (ret) { - fprintf(stderr, "stat failed for %s/%s: %s\n", - path_prefix, path, strerror(errno)); + fprintf(stderr, "stat failed for %s/%s: %m\n", + path_prefix, path); exit(-1); } sum_add_u64(&meta, level); @@ -557,8 +557,8 @@ sum(int dirfd, int level, sum_t *dircs, char *path_prefix, char *path_in) if (fd == -1 && flags[FLAG_OPEN_ERROR]) { sum_add_u64(&meta, errno); } else if (fd == -1) { - fprintf(stderr, "open failed for %s/%s: %s\n", - path_prefix, path, strerror(errno)); + fprintf(stderr, "open failed for %s/%s: %m\n", + path_prefix, path); exit(-1); } else { sum(fd, level + 1, &cs, path_prefix, path); @@ -575,9 +575,8 @@ sum(int dirfd, int level, sum_t *dircs, char *path_prefix, char *path_in) sum_add_u64(&meta, errno); } else if (fd == -1) { fprintf(stderr, - "open failed for %s/%s: %s\n", - path_prefix, path, - strerror(errno)); + "open failed for %s/%s: %m\n", + path_prefix, path); exit(-1); } if (fd != -1) { @@ -585,9 +584,8 @@ sum(int dirfd, int level, sum_t *dircs, char *path_prefix, char *path_in) if (ret < 0) { fprintf(stderr, "read failed for " - "%s/%s: %s\n", - path_prefix, path, - strerror(errno)); + "%s/%s: %m\n", + path_prefix, path); exit(-1); } close(fd); @@ -693,8 +691,7 @@ main(int argc, char *argv[]) out_fp = fopen(optarg, "w"); if (!out_fp) { fprintf(stderr, - "failed to open output file: %s\n", - strerror(errno)); + "failed to open output file: %m\n"); exit(-1); } break; @@ -702,8 +699,7 @@ main(int argc, char *argv[]) in_fp = fopen(optarg, "r"); if (!in_fp) { fprintf(stderr, - "failed to open input file: %s\n", - strerror(errno)); + "failed to open input file: %m\n"); exit(-1); } break; @@ -788,8 +784,7 @@ main(int argc, char *argv[]) fd = open(path, O_RDONLY); if (fd == -1) { - fprintf(stderr, "failed to open %s: %s\n", path, - strerror(errno)); + fprintf(stderr, "failed to open %s: %m\n", path); exit(-1); } -- cgit v1.2.3