summaryrefslogtreecommitdiff
path: root/cmds-scrub.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-scrub.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-scrub.c')
-rw-r--r--cmds-scrub.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/cmds-scrub.c b/cmds-scrub.c
index 5388fdcf..dabe7d9a 100644
--- a/cmds-scrub.c
+++ b/cmds-scrub.c
@@ -849,8 +849,7 @@ static void *scrub_one_dev(void *ctx)
IOPRIO_PRIO_VALUE(sp->ioprio_class,
sp->ioprio_classdata));
if (ret)
- warning("setting ioprio failed: %s (ignored)",
- strerror(errno));
+ warning("setting ioprio failed: %m (ignored)");
ret = ioctl(sp->fd, BTRFS_IOC_SCRUB, &sp->scrub_args);
gettimeofday(&tv, NULL);
@@ -1195,8 +1194,8 @@ static int scrub_start(int argc, char **argv, int resume)
if (mkdir_p(datafile)) {
warning_on(!do_quiet,
- "cannot create scrub data file, mkdir %s failed: %s. Status recording disabled",
- datafile, strerror(errno));
+ "cannot create scrub data file, mkdir %s failed: %m. Status recording disabled",
+ datafile);
do_record = 0;
}
free(datafile);
@@ -1267,7 +1266,7 @@ static int scrub_start(int argc, char **argv, int resume)
spc.progress = calloc(fi_args.num_devices * 2, sizeof(*spc.progress));
if (!t_devs || !sp || !spc.progress) {
- error_on(!do_quiet, "scrub failed: %s", strerror(errno));
+ error_on(!do_quiet, "scrub failed: %m");
err = 1;
goto out;
}
@@ -1346,9 +1345,9 @@ static int scrub_start(int argc, char **argv, int resume)
ret = listen(prg_fd, 100);
if (ret == -1) {
warning_on(!do_quiet,
- "failed to open the progress status socket at %s: %s. Progress cannot be queried",
+ "failed to open the progress status socket at %s: %m. Progress cannot be queried",
sock_path[0] ? sock_path :
- SCRUB_PROGRESS_SOCKET_PATH, strerror(errno));
+ SCRUB_PROGRESS_SOCKET_PATH);
if (prg_fd != -1) {
close(prg_fd);
prg_fd = -1;
@@ -1372,8 +1371,7 @@ static int scrub_start(int argc, char **argv, int resume)
if (do_background) {
pid = fork();
if (pid == -1) {
- error_on(!do_quiet, "cannot scrub, fork failed: %s",
- strerror(errno));
+ error_on(!do_quiet, "cannot scrub, fork failed: %m");
err = 1;
goto out;
}
@@ -1391,8 +1389,8 @@ static int scrub_start(int argc, char **argv, int resume)
}
ret = wait(&stat);
if (ret != pid) {
- error_on(!do_quiet, "wait failed (ret=%d): %s",
- ret, strerror(errno));
+ error_on(!do_quiet, "wait failed (ret=%d): %m",
+ ret);
err = 1;
goto out;
}
@@ -1720,8 +1718,7 @@ static int cmd_scrub_status(int argc, char **argv)
fdres = socket(AF_UNIX, SOCK_STREAM, 0);
if (fdres == -1) {
- error("failed to create socket to receive progress information: %s",
- strerror(errno));
+ error("failed to create socket to receive progress information: %m");
err = 1;
goto out;
}