[dm-devel] Ext4 and xfs problems in dm-thin on allocation and discard

Mike Snitzer msnitzer at redhat.com
Tue Jun 19 13:30:42 UTC 2012


On Tue, Jun 19 2012 at  9:25am -0400,
Lukáš Czerner <lczerner at redhat.com> wrote:

> On Tue, 19 Jun 2012, Mike Snitzer wrote:
> 
> > Date: Tue, 19 Jun 2012 09:16:49 -0400
> > From: Mike Snitzer <snitzer at redhat.com>
> > To: Lukáš Czerner <lczerner at redhat.com>
> > Cc: Dave Chinner <david at fromorbit.com>, Spelic <spelic at shiftmail.org>,
> >     device-mapper development <dm-devel at redhat.com>,
> >     linux-ext4 at vger.kernel.org, xfs at oss.sgi.com
> > Subject: Re: Ext4 and xfs problems in dm-thin on allocation and discard
> > 
> > On Tue, Jun 19 2012 at  2:32am -0400,
> > Lukáš Czerner <lczerner at redhat.com> wrote:
> >
> > > So do I understand correctly that even though the discard came
> > > through and thinp took advantage of it it still returns EOPNOTSUPP ?
> > 
> > No, not correct.  Why are you assuming this?  I must be missing
> > something from this discussion that led you there.
> 
> Those two paragraphs led me to that conclusion:
> 
>   That message says the underlying device doesn't support discards
>   (because it is an MD device).  But the thinp device still has discards
>   enabled -- it just won't pass the discards down to the underlying data
>   device.
> 
>   The discards still inform the thin-pool that the corresponding extents
>   are no longer allocated.
> 
> so I am a bit confused now. Why the dm-thin returned EOPNOTSUPP then
> ? Is that because it has been configured to ignore_discard, or it
> actually takes advantage of the discard but underlying device does
> not support it (and no_discard_passdown is not set) so it return
> EOPNOTSUPP ?
> 
> > 
> > > This seems rather suboptimal. IIRC there was a discussion to add an
> > > option to enable/disable sending discard in thinp target down
> > > to the device.
> > > 
> > > So maybe it might be a bit smarter than that and actually
> > > enable/disable discard pass through depending on the underlying
> > > support, so we do not blindly send discard down to the device even
> > > though it does not support it.
> > 
> > Yes, that is what we did.
> > 
> > Discards are enabled my default (including discard passdown), but if the
> > underlying data device doesn't support discards then the discards will
> > not be passed down.
> > 
> > And here are the feature controls that can be provided when loading the
> > thin-pool's DM table:
> > 
> > ignore_discard: disable discard
> > no_discard_passdown: don't pass discards down to the data device
> > 
> > -EOPNOTSUPP is only ever returned if 'ignore_discard' is provided.
> 
> Ok, so in this case 'ignore_discard' has been configured ?

I don't recall Spelic saying anything about EOPNOTSUPP.  So what has
made you zero in on an -EOPNOTSUPP return (which should not be
happening)?




More information about the dm-devel mailing list