@@ -228,8 +228,16 @@ func printFilesystemStatus(t *stringbuilder.B, rep *report.FilesystemReport, max
228228 }
229229230230userVisisbleCurrentStep, userVisibleTotalSteps := rep.CurrentStep, len(rep.Steps)
231-if len(rep.Steps) > 0 {
232-userVisisbleCurrentStep = rep.CurrentStep + 1 // CurrentStep is an index that starts at 0
231+// `.CurrentStep` is == len(rep.Steps) if all steps are done.
232+// Until then, it's an index into .Steps that starts at 0.
233+// For the user, we want it to start at 1.
234+if rep.CurrentStep >= len(rep.Steps) {
235+// rep.CurrentStep is what we want to show.
236+// We check for >= and not == for robustness.
237+ } else {
238+// We're not done yet, so, make step count start at 1
239+// (The `.State` is included in the output, indicating we're not done yet)
240+userVisisbleCurrentStep = rep.CurrentStep + 1
233241 }
234242status := fmt.Sprintf("%s (step %d/%d, %s/%s)%s",
235243strings.ToUpper(string(rep.State)),