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

Reply via email to