[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