Fix report_mount_progress never calling set_progress_header

That happens because of an off-by-one mistake.
share_mount_one_cb() calls report_mount_progress(current=sm_done) after
having incremented sm_done by one.  Then report_mount_progress()
increments the parameter again.  It appears that that logic became
obsolete after commit a10d50f999, parallel zfs mount.

On FreeBSD I observe that zfs mount -a -v prints, for example,
    (null): (201/248)
That happens because set_progress_header() is never called.

With this change the output becomes correct:
    Mounting ZFS filesystems: (209/248)

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Andriy Gapon <avg@FreeBSD.org>
Closes #11607
This commit is contained in:
Andriy Gapon 2021-02-18 23:53:05 +02:00 committed by Brian Behlendorf
parent 62f9691e10
commit f6440fa094

View File

@ -6790,9 +6790,6 @@ report_mount_progress(int current, int total)
time_t now = time(NULL); time_t now = time(NULL);
char info[32]; char info[32];
/* report 1..n instead of 0..n-1 */
++current;
/* display header if we're here for the first time */ /* display header if we're here for the first time */
if (current == 1) { if (current == 1) {
set_progress_header(gettext("Mounting ZFS filesystems")); set_progress_header(gettext("Mounting ZFS filesystems"));