HomeFreeBSD

Fix accounting error for pending sync IO ops in zpool iostat

Description

Fix accounting error for pending sync IO ops in zpool iostat

Currently vdev_queue_class_length is responsible for checking how long
the queue length is, however, it doesn't check the length when a list
is used, rather it just returns whether it is empty or not. To fix this
I added a counter variable to vdev_queue_class to keep track of the sync
IO ops, and changed vdev_queue_class_length to reference this variable
instead.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: MigeljanImeri <ImeriMigel@gmail.com>
Closes #15478

Details

Provenance
MigeljanImeri <78048439+MigeljanImeri@users.noreply.github.com>Authored on Nov 7 2023, 5:06 PM
GitHub <noreply@github.com>Committed on Nov 7 2023, 5:06 PM
Parents
rG3bd4df384152: Improve ZFS objset sync parallelism
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rG2a154b84847d: Fix accounting error for pending sync IO ops in zpool iostat (authored by MigeljanImeri <78048439+MigeljanImeri@users.noreply.github.com>).Nov 7 2023, 5:06 PM