mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
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
This commit is contained in:
@@ -131,7 +131,10 @@ typedef const struct vdev_ops {
|
||||
* Virtual device properties
|
||||
*/
|
||||
typedef union vdev_queue_class {
|
||||
list_t vqc_list;
|
||||
struct {
|
||||
ulong_t vqc_list_numnodes;
|
||||
list_t vqc_list;
|
||||
};
|
||||
avl_tree_t vqc_tree;
|
||||
} vdev_queue_class_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user