Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Oct 2014 00:43:25 +0100
From:      Steven Hartland <smh@freebsd.org>
To:        Andriy Gapon <avg@FreeBSD.org>, src-committers@FreeBSD.org,  svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org
Subject:   Re: svn commit: r269407 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Message-ID:  <54459E1D.1040401@freebsd.org>
In-Reply-To: <54459294.2090904@FreeBSD.org>
References:  <201408012316.s71NGnBh071036@svn.freebsd.org> <54459294.2090904@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 20/10/2014 23:54, Andriy Gapon wrote:
> On 02/08/2014 02:16, Steven Hartland wrote:
>> Author: smh
>> Date: Fri Aug  1 23:16:48 2014
>> New Revision: 269407
>> URL: http://svnweb.freebsd.org/changeset/base/269407
>>
>> Log:
>>    Don't return ZIO_PIPELINE_CONTINUE from vdev_op_io_start methods
>>    
>>    This prevents recursion of vdev_queue_io_done as per r265321 but
>>    using a different method as recommended on the openzfs list.
>>    
>>    We now use zio_interrupt(zio) and return ZIO_PIPELINE_STOP instead
>>    of returning ZIO_PIPELINE_CONTINUE from vdev_*_io_start methods.
>>    
>>    zio_vdev_io_start now ASSERTS the that vdev_op_io_start returns
>>    ZIO_PIPELINE_STOP to ensure future changes don't reintroduce
>>    ZIO_PIPELINE_CONTINUE returns.
>
> Steve,
>
> it seems that the issue is applicable to OpenZFS in general, but unfortunately,
> as far as I can see, it's been applied only to FreeBSD.
>
> Now, I see the following bug report and a proposed fix:
> https://www.illumos.org/projects/illumos-gate//issues/5244
> https://reviews.csiden.org/r/119/
>
> I am not 100% sure, but it seems that those upstream changes could fix the
> problem that you've found.
>
> What do you think?
Yep very similar change overall.

The only real difference is they changed the vdev_op_io_start call to a 
void and return stop direct from zio_vdev_io_start.

The result should be identical and it will be easy to merge the upstream 
change when it gets committed.

Shame that wasn't suggested when I posted my suggested patch ;-)

     Regards
     Steve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54459E1D.1040401>