From owner-freebsd-geom@FreeBSD.ORG Tue Oct 7 18:53:11 2014 Return-Path: Delivered-To: freebsd-geom@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 5AA53D4 for ; Tue, 7 Oct 2014 18:53:11 +0000 (UTC) Received: from mail-la0-x230.google.com (mail-la0-x230.google.com [IPv6:2a00:1450:4010:c03::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D4DE5E41 for ; Tue, 7 Oct 2014 18:53:10 +0000 (UTC) Received: by mail-la0-f48.google.com with SMTP id gi9so6851205lab.7 for ; Tue, 07 Oct 2014 11:53:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :content-type:content-transfer-encoding; bh=+utLiGuQQvrZ8xSXHCaktV0O7Mqwffmp+FSlbUx3u+k=; b=mnY9wO3NMNOcanUXL9CjggLFxOrT368ZdM0eNqZxlqBtd8oGRuMeGXstcgXADjBaR7 99Lcw9EZxoNLuj8McwvE/DB2fLrCBMzpzcNm6lQUamzRPjaR41C2SMZftW8jwR1MGvZb f7DOyFLJ2oQRSYFep/roduhEcEZ0x/M6YHgbVd0MzA6haW8aVeyiwFOEaSgI+iuM+uJZ MQWul9W0qFGV0NEVPmscRxsfr1Q9+4f3xU0RGNR+a28NWaBnytswuoTHtP8/ZP+5KhY+ UYz/lEP/EhAofKxh+Xefv6NMkEG47xdjiow3g6gvIVXSQX9oYebjbkyy3Z5sAONfTjxh Iydw== X-Received: by 10.152.5.9 with SMTP id o9mr5361919lao.95.1412707988766; Tue, 07 Oct 2014 11:53:08 -0700 (PDT) Received: from mavbook.mavhome.dp.ua ([134.249.139.101]) by mx.google.com with ESMTPSA id l13sm6962936lbh.32.2014.10.07.11.53.06 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 07 Oct 2014 11:53:07 -0700 (PDT) Sender: Alexander Motin Message-ID: <54343691.1030600@FreeBSD.org> Date: Tue, 07 Oct 2014 21:53:05 +0300 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: "Laier, Max" Subject: Re: biodone vs geom_up X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: "Rice, Benno" , "Ferris, Scott" , "freebsd-geom@FreeBSD.org" X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Oct 2014 18:53:11 -0000 Hi, Max. > Removing the BIO_DONE setting at [1] resolves the issue I'm seeing, but I wonder if there is a better way to resolve this? Should g_disk_start() clone a bio for its callback instead? Are there other places that set a bio_done callback on the way down? Originally requests were always cloned in g_disk_start(). Skipping BIO cloning there was my change to reduce I/O processing overhead. It is indeed kind of hack, but supposed to be a small one. I think I see the problem there too now. Removing BIO_DONE setting at [1] indeed should help. Grepping through the tree I don't see much other checks for BIO_DONE, so I would guess it should not be a problem. Any way, unlocked BIO_DONE setting there should be pointless or at least unreliable, except may be for some debugging. -- Alexander Motin