Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Mar 2015 14:51:09 -0500
From:      "Matthew D. Fuller" <fullermd@over-yonder.net>
To:        freebsd-geom@freebsd.org
Subject:   Re: RFC: Pass TRIM through GELI
Message-ID:  <20150312195109.GG24274@over-yonder.net>
In-Reply-To: <20150312182530.GF24274@over-yonder.net>
References:  <20150308000131.GP1742@over-yonder.net> <7e0bacf0.308742dc@fabiankeil.de> <20150312182530.GF24274@over-yonder.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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.



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