summaryrefslogtreecommitdiff
path: root/cmds-scrub.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmds-scrub.c')
-rw-r--r--cmds-scrub.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/cmds-scrub.c b/cmds-scrub.c
index 06c2a306..1f37d17e 100644
--- a/cmds-scrub.c
+++ b/cmds-scrub.c
@@ -229,6 +229,8 @@ static void _print_scrub_ss(struct scrub_stats *ss)
{
char t[4096];
struct tm tm;
+ time_t seconds;
+ unsigned hours;
if (!ss || !ss->t_start) {
printf("\tno stats available\n");
@@ -245,18 +247,21 @@ static void _print_scrub_ss(struct scrub_stats *ss)
t[sizeof(t) - 1] = '\0';
printf("\tscrub started at %s", t);
}
+
+ seconds = ss->duration;
+ hours = ss->duration / (60 * 60);
+ gmtime_r(&seconds, &tm);
+ strftime(t, sizeof(t), "%M:%S", &tm);
if (ss->finished && !ss->canceled) {
- printf(" and finished after %llu seconds\n",
- ss->duration);
+ printf(" and finished after %02u:%s\n", hours, t);
} else if (ss->canceled) {
- printf(" and was aborted after %llu seconds\n",
- ss->duration);
+ printf(" and was aborted after %02u:%s\n", hours, t);
} else {
if (ss->in_progress)
- printf(", running for %llu seconds\n", ss->duration);
+ printf(", running for %02u:%s\n", hours, t);
else
- printf(", interrupted after %llu seconds, not running\n",
- ss->duration);
+ printf(", interrupted after %02u:%s, not running\n",
+ hours, t);
}
}