Andriy, The ZIO_STAGE_VDEV_IO_DONE is not necessary for ZIO_IOCTL_PIPELINE and that's why it was removed. At least in illumos, there is no functional reason for calling it. To add it back would require a small amount of change which should not be a big deal. Can you provide some context around the FreeBSD bug?
Thanks, George On Thu, Sep 14, 2017 at 12:45 AM Andriy Gapon <a...@freebsd.org> wrote: > > 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 <jeff.bonw...@sun.com> > > 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-Mf919ed11d9fcd748d8163047 Powered by Topicbox: https://topicbox.com