[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1206191519320.21961@dhcp-1-248.brq.redhat.com>
Date: Tue, 19 Jun 2012 15:25:21 +0200 (CEST)
From: Lukáš Czerner <lczerner@...hat.com>
To: Mike Snitzer <snitzer@...hat.com>
cc: Lukáš Czerner <lczerner@...hat.com>,
Dave Chinner <david@...morbit.com>,
Spelic <spelic@...ftmail.org>,
device-mapper development <dm-devel@...hat.com>,
linux-ext4@...r.kernel.org, xfs@....sgi.com
Subject: Re: Ext4 and xfs problems in dm-thin on allocation and discard
On Tue, 19 Jun 2012, Mike Snitzer wrote:
> Date: Tue, 19 Jun 2012 09:16:49 -0400
> From: Mike Snitzer <snitzer@...hat.com>
> To: Lukáš Czerner <lczerner@...hat.com>
> Cc: Dave Chinner <david@...morbit.com>, Spelic <spelic@...ftmail.org>,
> device-mapper development <dm-devel@...hat.com>,
> linux-ext4@...r.kernel.org, xfs@....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@...hat.com> wrote:
>
> > On Mon, 18 Jun 2012, Mike Snitzer wrote:
> >
> > > Date: Mon, 18 Jun 2012 23:12:42 -0400
> > > From: Mike Snitzer <snitzer@...hat.com>
> > > To: Dave Chinner <david@...morbit.com>
> > > Cc: Spelic <spelic@...ftmail.org>,
> > > device-mapper development <dm-devel@...hat.com>,
> > > linux-ext4@...r.kernel.org, xfs@....sgi.com
> > > Subject: Re: Ext4 and xfs problems in dm-thin on allocation and discard
> > >
> > > On Mon, Jun 18 2012 at 9:57pm -0400,
> > > Dave Chinner <david@...morbit.com> wrote:
> > >
> > > > On Mon, Jun 18, 2012 at 11:33:50PM +0200, Spelic wrote:
> > > >
> > > > > Please note that since I am above MD raid5 (I believe this is the
> > > > > reason), the passdown of discards does not work, as my dmesg says:
> > > > > [160508.497879] device-mapper: thin: Discard unsupported by data
> > > > > device (dm-1): Disabling discard passdown.
> > > > > but AFAIU, unless there is a thinp bug, this should not affect the
> > > > > unmapping of thin blocks by fstrimming xfs... and in fact ext4 is
> > > > > able to do that.
> > > >
> > > > Does ext4 report that same error?
> > >
> > > 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.
> > >
> > > So yes, it'll happen with ext4 -- it is generated when the thin-pool
> > > device is loaded (which happens independent of the filesystem that is
> > > layered ontop).
> > >
> > > The discards still inform the thin-pool that the corresponding extents
> > > are no longer allocated.
> >
> > 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 ?
Thanks!
-Lukas
Powered by blists - more mailing lists