Does anyone know why ZIO_IOCTL_PIPELINE does not include ZIO_STAGE_VDEV_IO_DONE? Or, in other words, why ZIO_IOCTL_PIPELINE actively excludes it by not using ZIO_VDEV_IO_STAGES?
It seems that ZIO_IOCTL_PIPELINE had ZIO_VDEV_IO_STAGES until this commit: > commit e14bb3258d05c1b1077e2db7cf77088924e56919 > Author: Jeff Bonwick <[email protected]> > Date: Mon Sep 29 18:13:58 2008 -0700 > 6754011 SPA 3.0: lock breakup, i/o pipeline refactoring, device failure > handling > 6667208 zfs/zpool commands on failed pool should not hang > 6430480 grabbing config lock as writer during I/O load can take > excessively long Of course, the commit message does not have any detailed explanations and the referenced bugs are not publicly accessible. And it was almost 9 years ago. I wonder if the change was because of anything specific to illumos vdev_disk. I think that it would be totally okay to enable ZIO_STAGE_VDEV_IO_DONE with FreeBSD vdev_geom. In fact, right now ZFS/FreeBSD has a bug because the done stage is not executed. -- Andriy Gapon ------------------------------------------ openzfs-developer Archives: https://openzfs.topicbox.com/groups/developer/discussions/T4b8a967c63e22769-Mda794f9d688b2c7be34b8980 Powered by Topicbox: https://topicbox.com
