From 5fcdf204b033297486e221a80a7f3c0a30734ceb Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 9 May 2019 13:59:54 +0200 Subject: fstrim: affect only warnings by --quiet We need the same return code from fstrim_filesystem() independently on --quiet command line option. Addresses: https://github.com/karelzak/util-linux/pull/791 Signed-off-by: Karel Zak --- sys-utils/fstrim.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'sys-utils') diff --git a/sys-utils/fstrim.c b/sys-utils/fstrim.c index 9491079c3..cae38cdff 100644 --- a/sys-utils/fstrim.c +++ b/sys-utils/fstrim.c @@ -113,10 +113,8 @@ static int fstrim_filesystem(struct fstrim_control *ctl, const char *path, const case EBADF: case ENOTTY: case EOPNOTSUPP: - if (ctl->quiet) { - rc = 1; - break; - } + rc = 1; + break; default: rc = -errno; } @@ -325,8 +323,11 @@ static int fstrim_all(struct fstrim_control *ctl) * This is reason why we ignore EOPNOTSUPP and ENOTTY errors * from discard ioctl. */ - if (fstrim_filesystem(ctl, tgt, src) < 0) + rc = fstrim_filesystem(ctl, tgt, src); + if (rc < 0) cnt_err++; + else if (rc == 1 && !ctl->quiet) + warnx(_("%s: the discard operation is not supported"), tgt); } ul_unref_path(wholedisk); @@ -451,7 +452,7 @@ int main(int argc, char **argv) return fstrim_all(&ctl); /* MNT_EX_* codes */ rc = fstrim_filesystem(&ctl, path, NULL); - if (rc == 1) + if (rc == 1 && !ctl.quiet) warnx(_("%s: the discard operation is not supported"), path); return rc == 0 ? EXIT_SUCCESS : EXIT_FAILURE; -- cgit v1.2.3-55-g7522