RFC: Pass TRIM through GELI

Pawel Jakub Dawidek pjd at FreeBSD.org
Mon Mar 16 11:50:02 UTC 2015


On Mon, Mar 16, 2015 at 10:14:42AM +0000, Steven Hartland wrote:
> 
> On 16/03/2015 09:21, Matthew D. Fuller wrote:
> > On Mon, Mar 16, 2015 at 02:08:45AM +0100 I heard the voice of
> > Pawel Jakub Dawidek, and lo! it spake thus:
> >> Overall the patch looks good. The main concern I have is that we do
> >> nothing if the underlying provider returns EOPNOTSUPP on BIO_DELETE,
> >> we will just keep sending those requests.
> > Well, they're all coming from the layer above us, and it'll get back
> > the EOPNOTSUPP's, so if it keeps sending them anyway that seems more
> > like its problem than ours.  It seems like intercepting the response
> > (that would mean making our own new request, getting the response,
> > then making that response ourselves to the original?) wouldn't really
> > save much of anything, and adds a lot of extra bug-havens...
> >
> See how ZFS details with this, it adds internal state to the device 
> which stores and bypasses the pass down after the first EOPNOTSUPP.
> 
> This avoids the full stack round trip, which when volumes of deletes are 
> high could be noticeable.

By ZFS is at the top of the stack, GELI is just passing through the
requests. I agree with Matt that ZFS is the one who should handle
EOPNOTSUPP from the underlying provider, not GELI.

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://mobter.com


More information about the freebsd-geom mailing list