From owner-freebsd-geom@FreeBSD.ORG Thu Mar 12 19:51:12 2015 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 ACD44766 for ; Thu, 12 Mar 2015 19:51:12 +0000 (UTC) Received: from thyme.infocus-llc.com (thyme.infocus-llc.com [199.15.120.10]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 85982F75 for ; Thu, 12 Mar 2015 19:51:12 +0000 (UTC) Received: from draco.over-yonder.net (c-75-65-60-66.hsd1.ms.comcast.net [75.65.60.66]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by thyme.infocus-llc.com (Postfix) with ESMTPSA id 4AA8937B5AB for ; Thu, 12 Mar 2015 14:51:10 -0500 (CDT) Received: by draco.over-yonder.net (Postfix, from userid 100) id 3l314F4yNdz1kd; Thu, 12 Mar 2015 14:51:09 -0500 (CDT) Date: Thu, 12 Mar 2015 14:51:09 -0500 From: "Matthew D. Fuller" To: freebsd-geom@freebsd.org Subject: Re: RFC: Pass TRIM through GELI Message-ID: <20150312195109.GG24274@over-yonder.net> References: <20150308000131.GP1742@over-yonder.net> <7e0bacf0.308742dc@fabiankeil.de> <20150312182530.GF24274@over-yonder.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150312182530.GF24274@over-yonder.net> X-Editor: vi X-OS: FreeBSD User-Agent: Mutt/1.5.23-fullermd.4 (2014-03-12) X-Virus-Scanned: clamav-milter 0.98.6 at thyme.infocus-llc.com X-Virus-Status: Clean 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: Thu, 12 Mar 2015 19:51:12 -0000 > Little investigation attempt: Looking a little further, it seems like that BIO_DELETE is never getting into zvol_strategy(). Piling on debug, when newfs'ing directly on the zvol, we enter zvol_geom_start() with the BIO_DELETE, it drops into the case in the early switch, and passes the bp down to zvol_strategy(). No problem. When newfs'ing on the .eli, it enters the if (!THREAD_CAN_SLEEP()), which jumps ahead to some a bioq_insert_tail(), into an empty bioq, falls into the if(first) block and calls wakeup_one(), and then falls off the end and returns from zvol_geom_start(). And that's the end of the line; nothing else ever happens. So, either the zvol isn't actually firing off the event right, or we need to do something more complicated with BIO_DELETE than we do with _GETATTR and _FLUSH. I couldn't really say which... -- Matthew Fuller (MF4839) | fullermd@over-yonder.net Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ On the Internet, nobody can hear you scream.