From owner-svn-src-all@FreeBSD.ORG Mon Oct 20 23:43:17 2014 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BBEA6869; Mon, 20 Oct 2014 23:43:17 +0000 (UTC) Received: from smtp1.multiplay.co.uk (smtp1.multiplay.co.uk [85.236.96.35]) by mx1.freebsd.org (Postfix) with ESMTP id 801F0CD8; Mon, 20 Oct 2014 23:43:17 +0000 (UTC) Received: by smtp1.multiplay.co.uk (Postfix, from userid 65534) id 4757F20E70899; Mon, 20 Oct 2014 23:43:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.multiplay.co.uk X-Spam-Level: X-Spam-Status: No, score=0.1 required=8.0 tests=AWL,BAYES_00,RDNS_DYNAMIC autolearn=no version=3.3.1 Received: from [10.10.1.68] (82-69-141-170.dsl.in-addr.zen.co.uk [82.69.141.170]) by smtp1.multiplay.co.uk (Postfix) with ESMTP id 95B1220E7088A; Mon, 20 Oct 2014 23:43:13 +0000 (UTC) Message-ID: <54459E1D.1040401@freebsd.org> Date: Tue, 21 Oct 2014 00:43:25 +0100 From: Steven Hartland User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Andriy Gapon , 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 References: <201408012316.s71NGnBh071036@svn.freebsd.org> <54459294.2090904@FreeBSD.org> In-Reply-To: <54459294.2090904@FreeBSD.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Oct 2014 23:43:17 -0000 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