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 --- volumes.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'volumes.c') diff --git a/volumes.c b/volumes.c index fea60b27..54873676 100644 --- a/volumes.c +++ b/volumes.c @@ -181,8 +181,8 @@ again: struct btrfs_device, dev_list); if (device->fd != -1) { if (fsync(device->fd) == -1) { - warning("fsync on device %llu failed: %s", - device->devid, strerror(errno)); + warning("fsync on device %llu failed: %m", + device->devid); ret = -errno; } if (posix_fadvise(device->fd, 0, 0, POSIX_FADV_DONTNEED)) @@ -242,8 +242,7 @@ int btrfs_open_devices(struct btrfs_fs_devices *fs_devices, int flags) fd = open(device->name, flags); if (fd < 0) { ret = -errno; - error("cannot open device '%s': %s", device->name, - strerror(errno)); + error("cannot open device '%s': %m", device->name); goto fail; } -- cgit v1.2.3