Patchwork ext4: Remove some deprecated mount options

login
register
mail settings
Submitter Lukas Czerner
Date June 28, 2011, 3:53 p.m.
Message ID <1309276394-11536-1-git-send-email-lczerner@redhat.com>
Download mbox | patch
Permalink /patch/102417/
State New
Headers show

Comments

Lukas Czerner - June 28, 2011, 3:53 p.m.
Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
However it is not a big deal because those are defaults anyway and the
options for setting their opposites still remains in kernel (however are
still deprecated). Also push the kernel version to remove those leftover
options further in time.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
 Documentation/filesystems/ext4.txt |    4 ----
 fs/ext4/super.c                    |   20 +++-----------------
 2 files changed, 3 insertions(+), 21 deletions(-)
Andreas Dilger - June 28, 2011, 4:35 p.m.
On 2011-06-28, at 9:53 AM, Lukas Czerner wrote:
> Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
> been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
> However it is not a big deal because those are defaults anyway and the
> options for setting their opposites still remains in kernel (however are
> still deprecated). Also push the kernel version to remove those leftover
> options further in time.
> 
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 9ea71aa..a75320e 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -1486,24 +1483,13 @@ static int parse_options(char *options, struct super_block *sb,
> 		args[0].to = args[0].from = NULL;
> 		token = match_token(p, tokens, args);
> 		switch (token) {
> -		case Opt_bsd_df:
> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> -			clear_opt(sb, MINIX_DF);
> -			break;
> 		case Opt_minix_df:
> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
> 			set_opt(sb, MINIX_DF);
> -
> 			break;
> 		case Opt_grpid:
> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
> 			set_opt(sb, GRPID);
> -
> -			break;
> -		case Opt_nogrpid:
> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> -			clear_opt(sb, GRPID);

One problem is that these options haven't been deprecated in major vendor
releases (e.g. 2.6.32 for RHEL6 and SLES11), which is what most people are
using.  I think that they should be deprecated for at least one major
vendor release before being removed, otherwise it is nearly the same as just
deleting them on some random kernel version without telling anyone.

I'm not sure where you got "2.6.23" and "2.6.28" from, maybe you meant "2.6.33",
which is unfortunately just after the cutoff for both RHEL6 and SLES11SP1.


Cheers, Andreas





--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ric Wheeler - June 29, 2011, 8:55 a.m.
On 06/28/2011 05:35 PM, Andreas Dilger wrote:
> On 2011-06-28, at 9:53 AM, Lukas Czerner wrote:
>> Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
>> been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
>> However it is not a big deal because those are defaults anyway and the
>> options for setting their opposites still remains in kernel (however are
>> still deprecated). Also push the kernel version to remove those leftover
>> options further in time.
>>
>> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
>> index 9ea71aa..a75320e 100644
>> --- a/fs/ext4/super.c
>> +++ b/fs/ext4/super.c
>> @@ -1486,24 +1483,13 @@ static int parse_options(char *options, struct super_block *sb,
>> 		args[0].to = args[0].from = NULL;
>> 		token = match_token(p, tokens, args);
>> 		switch (token) {
>> -		case Opt_bsd_df:
>> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
>> -			clear_opt(sb, MINIX_DF);
>> -			break;
>> 		case Opt_minix_df:
>> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
>> +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
>> 			set_opt(sb, MINIX_DF);
>> -
>> 			break;
>> 		case Opt_grpid:
>> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
>> +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
>> 			set_opt(sb, GRPID);
>> -
>> -			break;
>> -		case Opt_nogrpid:
>> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
>> -			clear_opt(sb, GRPID);
> One problem is that these options haven't been deprecated in major vendor
> releases (e.g. 2.6.32 for RHEL6 and SLES11), which is what most people are
> using.  I think that they should be deprecated for at least one major
> vendor release before being removed, otherwise it is nearly the same as just
> deleting them on some random kernel version without telling anyone.
>
> I'm not sure where you got "2.6.23" and "2.6.28" from, maybe you meant "2.6.33",
> which is unfortunately just after the cutoff for both RHEL6 and SLES11SP1.
>
>
> Cheers, Andreas
>

I am not sure that I follow the concern - people who use upstream follow that, 
people who use vendor kernels get some branched version of something old.

In fact, we try hard *not* to do things in RHEL kernels that are not upstream 
first. I would be perfectly happy to drop it upstream first and then deprecate 
it in a future RHEL release.

Thanks!

Ric

(and Lukas is *very* familiar with which kernel the ext4 code was lifted from :))

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lukas Czerner - June 29, 2011, 11:03 a.m.
On Wed, 29 Jun 2011, Ric Wheeler wrote:

> On 06/28/2011 05:35 PM, Andreas Dilger wrote:
> > On 2011-06-28, at 9:53 AM, Lukas Czerner wrote:
> > > Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
> > > been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
> > > However it is not a big deal because those are defaults anyway and the
> > > options for setting their opposites still remains in kernel (however are
> > > still deprecated). Also push the kernel version to remove those leftover
> > > options further in time.
> > > 
> > > diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> > > index 9ea71aa..a75320e 100644
> > > --- a/fs/ext4/super.c
> > > +++ b/fs/ext4/super.c
> > > @@ -1486,24 +1483,13 @@ static int parse_options(char *options, struct
> > > super_block *sb,
> > > 		args[0].to = args[0].from = NULL;
> > > 		token = match_token(p, tokens, args);
> > > 		switch (token) {
> > > -		case Opt_bsd_df:
> > > -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p,
> > > "2.6.38");
> > > -			clear_opt(sb, MINIX_DF);
> > > -			break;
> > > 		case Opt_minix_df:
> > > -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p,
> > > "2.6.38");
> > > +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
> > > 			set_opt(sb, MINIX_DF);
> > > -
> > > 			break;
> > > 		case Opt_grpid:
> > > -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p,
> > > "2.6.38");
> > > +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
> > > 			set_opt(sb, GRPID);
> > > -
> > > -			break;
> > > -		case Opt_nogrpid:
> > > -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p,
> > > "2.6.38");
> > > -			clear_opt(sb, GRPID);
> > One problem is that these options haven't been deprecated in major vendor
> > releases (e.g. 2.6.32 for RHEL6 and SLES11), which is what most people are
> > using.  I think that they should be deprecated for at least one major
> > vendor release before being removed, otherwise it is nearly the same as just
> > deleting them on some random kernel version without telling anyone.
> > 
> > I'm not sure where you got "2.6.23" and "2.6.28" from, maybe you meant
> > "2.6.33",

Oh, sure it should be 2.6.33 and 2.6.38, sorry!

> > which is unfortunately just after the cutoff for both RHEL6 and SLES11SP1.
> > 
> > 
> > Cheers, Andreas
> > 
> 
> I am not sure that I follow the concern - people who use upstream follow that,
> people who use vendor kernels get some branched version of something old.
> 
> In fact, we try hard *not* to do things in RHEL kernels that are not upstream
> first. I would be perfectly happy to drop it upstream first and then deprecate
> it in a future RHEL release.

Ric has a valid point, it does not matter that the deprecation change
did not appear in RHEL, SLES or others because it is really a distributor
decision what code from what kernel version to use and communicate
changes with their customers.

That said, I do not think there is a point in upstream waiting for
distributors to adopt some change. Especially when it is not a question
feature test coverage.

Thanks!
-Lukas

> 
> Thanks!
> 
> Ric
> 
> (and Lukas is *very* familiar with which kernel the ext4 code was lifted from
> :))
> 
>
Eric Sandeen - June 29, 2011, 3:01 p.m.
On 6/29/11 6:03 AM, Lukas Czerner wrote:
> On Wed, 29 Jun 2011, Ric Wheeler wrote:
> 
>> On 06/28/2011 05:35 PM, Andreas Dilger wrote:
>>> On 2011-06-28, at 9:53 AM, Lukas Czerner wrote:
>>>> Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
>>>> been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
>>>> However it is not a big deal because those are defaults anyway and the
>>>> options for setting their opposites still remains in kernel (however are
>>>> still deprecated). Also push the kernel version to remove those leftover
>>>> options further in time.
>>>>
>>>> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
>>>> index 9ea71aa..a75320e 100644
>>>> --- a/fs/ext4/super.c
>>>> +++ b/fs/ext4/super.c
>>>> @@ -1486,24 +1483,13 @@ static int parse_options(char *options, struct
>>>> super_block *sb,
>>>> 		args[0].to = args[0].from = NULL;
>>>> 		token = match_token(p, tokens, args);
>>>> 		switch (token) {
>>>> -		case Opt_bsd_df:
>>>> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p,
>>>> "2.6.38");
>>>> -			clear_opt(sb, MINIX_DF);
>>>> -			break;
>>>> 		case Opt_minix_df:
>>>> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p,
>>>> "2.6.38");
>>>> +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
>>>> 			set_opt(sb, MINIX_DF);
>>>> -
>>>> 			break;
>>>> 		case Opt_grpid:
>>>> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p,
>>>> "2.6.38");
>>>> +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
>>>> 			set_opt(sb, GRPID);
>>>> -
>>>> -			break;
>>>> -		case Opt_nogrpid:
>>>> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p,
>>>> "2.6.38");
>>>> -			clear_opt(sb, GRPID);
>>> One problem is that these options haven't been deprecated in major vendor
>>> releases (e.g. 2.6.32 for RHEL6 and SLES11), which is what most people are
>>> using.  I think that they should be deprecated for at least one major
>>> vendor release before being removed, otherwise it is nearly the same as just
>>> deleting them on some random kernel version without telling anyone.
>>>
>>> I'm not sure where you got "2.6.23" and "2.6.28" from, maybe you meant
>>> "2.6.33",
> 
> Oh, sure it should be 2.6.33 and 2.6.38, sorry!
> 
>>> which is unfortunately just after the cutoff for both RHEL6 and SLES11SP1.
>>>
>>>
>>> Cheers, Andreas
>>>
>>
>> I am not sure that I follow the concern - people who use upstream follow that,
>> people who use vendor kernels get some branched version of something old.
>>
>> In fact, we try hard *not* to do things in RHEL kernels that are not upstream
>> first. I would be perfectly happy to drop it upstream first and then deprecate
>> it in a future RHEL release.
> 
> Ric has a valid point, it does not matter that the deprecation change
> did not appear in RHEL, SLES or others because it is really a distributor
> decision what code from what kernel version to use and communicate
> changes with their customers.
> 
> That said, I do not think there is a point in upstream waiting for
> distributors to adopt some change. Especially when it is not a question
> feature test coverage.

*nod* I don't mean to turn this into an RH me-too fest, but we usually
go the other way; make changes we want to see upstream first, and then
they find their way into a distro.

We try to be pretty conservative on which of the filesystem configurations
we support (you all know of my love for mount option matrices by now)
so I'll shed no tear over losing these ...

-Eric

> Thanks!
> -Lukas
> 
>>
>> Thanks!
>>
>> Ric
>>
>> (and Lukas is *very* familiar with which kernel the ext4 code was lifted from
>> :))
>>
>>
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andreas Dilger - June 29, 2011, 6:16 p.m.
On 2011-06-29, at 9:01 AM, Eric Sandeen wrote:
> On 6/29/11 6:03 AM, Lukas Czerner wrote:
>> On Wed, 29 Jun 2011, Ric Wheeler wrote:
>> 
>>> On 06/28/2011 05:35 PM, Andreas Dilger wrote:
>>>> On 2011-06-28, at 9:53 AM, Lukas Czerner wrote:
>>>>> Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
>>>>> been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
>>>>> However it is not a big deal because those are defaults anyway and the
>>>>> options for setting their opposites still remains in kernel (however are
>>>>> still deprecated). Also push the kernel version to remove those leftover
>>>>> options further in time.
>> 
>>>> 
>>>> One problem is that these options haven't been deprecated in major vendor
>>>> releases (e.g. 2.6.32 for RHEL6 and SLES11), which is what most people are
>>>> using.  I think that they should be deprecated for at least one major
>>>> vendor release before being removed, otherwise it is nearly the same as just
>>>> deleting them on some random kernel version without telling anyone.
>>>> 
>>>> I'm not sure where you got "2.6.23" and "2.6.28" from, maybe you meant
>>>> "2.6.33",
>> 
>> Oh, sure it should be 2.6.33 and 2.6.38, sorry!
>> 
>>>> which is unfortunately just after the cutoff for both RHEL6 and SLES11SP1.
>>> 
>>> I am not sure that I follow the concern - people who use upstream follow that,
>>> people who use vendor kernels get some branched version of something old.
>>> 
>>> In fact, we try hard *not* to do things in RHEL kernels that are not
>>> upstream first. I would be perfectly happy to drop it upstream first and
>>> then deprecate it in a future RHEL release.
>> 
>> Ric has a valid point, it does not matter that the deprecation change
>> did not appear in RHEL, SLES or others because it is really a distributor
>> decision what code from what kernel version to use and communicate
>> changes with their customers.
>> 
>> That said, I do not think there is a point in upstream waiting for
>> distributors to adopt some change. Especially when it is not a question
>> feature test coverage.
> 
> *nod* I don't mean to turn this into an RH me-too fest, but we usually
> go the other way; make changes we want to see upstream first, and then
> they find their way into a distro.
> 
> We try to be pretty conservative on which of the filesystem configurations
> we support (you all know of my love for mount option matrices by now)
> so I'll shed no tear over losing these ...

I think you are all missing my point.

The reason we mark options deprecated is so that users have some chance to
see this in advance and allow them to fix up their userspace and stop using
the options so that their mounts don't start failing when they upgrade to
some kernel that doesn't support them.

If the majority of users (~= RHEL and SLES users) have never used a kernel
where these options were marked deprecated (i.e. 2.6.33+), then from their
POV it will be the same as if the options were just yanked out from under
their feet when they eventually do upgrade the kernel, since they will never
have seen an intermediate kernel.

I understand that you want to incorporate changes into RHEL that are already
upstream, so I would suggest FIRST to merge into RHEL6.x changes marking
these mount options as deprecated (which are upstream since 2.6.33), and we
can try to do the same for SLES11 SP1.  This will give a much wider exposure
to the option deprecation.  If there are no serious complaints from users
in the next year (which you are already confident of, if you want to remove
the options entirely) we can safely remove the mount options in upstream,
still leaving plenty of time to include this change into RHEL7.

Cheers, Andreas





--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lukas Czerner - June 30, 2011, 9:20 a.m.
On Wed, 29 Jun 2011, Andreas Dilger wrote:

> On 2011-06-29, at 9:01 AM, Eric Sandeen wrote:
> > On 6/29/11 6:03 AM, Lukas Czerner wrote:
> >> On Wed, 29 Jun 2011, Ric Wheeler wrote:
> >> 
> >>> On 06/28/2011 05:35 PM, Andreas Dilger wrote:
> >>>> On 2011-06-28, at 9:53 AM, Lukas Czerner wrote:
> >>>>> Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
> >>>>> been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
> >>>>> However it is not a big deal because those are defaults anyway and the
> >>>>> options for setting their opposites still remains in kernel (however are
> >>>>> still deprecated). Also push the kernel version to remove those leftover
> >>>>> options further in time.
> >> 
> >>>> 
> >>>> One problem is that these options haven't been deprecated in major vendor
> >>>> releases (e.g. 2.6.32 for RHEL6 and SLES11), which is what most people are
> >>>> using.  I think that they should be deprecated for at least one major
> >>>> vendor release before being removed, otherwise it is nearly the same as just
> >>>> deleting them on some random kernel version without telling anyone.
> >>>> 
> >>>> I'm not sure where you got "2.6.23" and "2.6.28" from, maybe you meant
> >>>> "2.6.33",
> >> 
> >> Oh, sure it should be 2.6.33 and 2.6.38, sorry!
> >> 
> >>>> which is unfortunately just after the cutoff for both RHEL6 and SLES11SP1.
> >>> 
> >>> I am not sure that I follow the concern - people who use upstream follow that,
> >>> people who use vendor kernels get some branched version of something old.
> >>> 
> >>> In fact, we try hard *not* to do things in RHEL kernels that are not
> >>> upstream first. I would be perfectly happy to drop it upstream first and
> >>> then deprecate it in a future RHEL release.
> >> 
> >> Ric has a valid point, it does not matter that the deprecation change
> >> did not appear in RHEL, SLES or others because it is really a distributor
> >> decision what code from what kernel version to use and communicate
> >> changes with their customers.
> >> 
> >> That said, I do not think there is a point in upstream waiting for
> >> distributors to adopt some change. Especially when it is not a question
> >> feature test coverage.
> > 
> > *nod* I don't mean to turn this into an RH me-too fest, but we usually
> > go the other way; make changes we want to see upstream first, and then
> > they find their way into a distro.
> > 
> > We try to be pretty conservative on which of the filesystem configurations
> > we support (you all know of my love for mount option matrices by now)
> > so I'll shed no tear over losing these ...
> 
> I think you are all missing my point.
> 
> The reason we mark options deprecated is so that users have some chance to
> see this in advance and allow them to fix up their userspace and stop using
> the options so that their mounts don't start failing when they upgrade to
> some kernel that doesn't support them.
> 
> If the majority of users (~= RHEL and SLES users) have never used a kernel
> where these options were marked deprecated (i.e. 2.6.33+), then from their
> POV it will be the same as if the options were just yanked out from under
> their feet when they eventually do upgrade the kernel, since they will never
> have seen an intermediate kernel.
> 
> I understand that you want to incorporate changes into RHEL that are already
> upstream, so I would suggest FIRST to merge into RHEL6.x changes marking
> these mount options as deprecated (which are upstream since 2.6.33), and we
> can try to do the same for SLES11 SP1.  This will give a much wider exposure
> to the option deprecation.  If there are no serious complaints from users
> in the next year (which you are already confident of, if you want to remove
> the options entirely) we can safely remove the mount options in upstream,
> still leaving plenty of time to include this change into RHEL7.
> 
> Cheers, Andreas

So there are two problems.

1. The first one is that people have to notice that it has been deprecated
before we actually remove the option. Upstream people had a lot of time
to notice that (since 2.6.33) and it should have been removed in 2.6.38.
The reason it was not removed is that some people (actually two people,
one for each option) showed up asking for not removing those option.
Namely it was bsdgroups and minixdf.

This has nothing to do with distributors since they can decide what to
take and what not (once it is upstream of course). So in this case there
is no reason for delaying the removal any further.

2. The second is that there still might be people actually using this
and the should have had the opportunity to react against the removal. As
I understand it this is your point. Once we remove it upstream and
distributors will deprecate it first there might be people arguing
against it, which would be already too late for upstream.

Well, in this case we do not have to be that extra careful. Those
options this patch removes are default, so no one actually needs to use
it. The only people who might be remotely interested in it are those two
I mentioned above, if they want (for some crazy reason) switch back and
forth between the functionalities, but I very seriously doubt that.

So I do not see any reason for not removing it, actually it should have
been removed in 2.6.38 since noone argued against it.

Thanks!
-Lukas
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ric Wheeler - July 2, 2011, 6:03 a.m.
On 06/29/2011 07:16 PM, Andreas Dilger wrote:
> On 2011-06-29, at 9:01 AM, Eric Sandeen wrote:
>> On 6/29/11 6:03 AM, Lukas Czerner wrote:
>>> On Wed, 29 Jun 2011, Ric Wheeler wrote:
>>>
>>>> On 06/28/2011 05:35 PM, Andreas Dilger wrote:
>>>>> On 2011-06-28, at 9:53 AM, Lukas Czerner wrote:
>>>>>> Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
>>>>>> been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
>>>>>> However it is not a big deal because those are defaults anyway and the
>>>>>> options for setting their opposites still remains in kernel (however are
>>>>>> still deprecated). Also push the kernel version to remove those leftover
>>>>>> options further in time.
>>>>> One problem is that these options haven't been deprecated in major vendor
>>>>> releases (e.g. 2.6.32 for RHEL6 and SLES11), which is what most people are
>>>>> using.  I think that they should be deprecated for at least one major
>>>>> vendor release before being removed, otherwise it is nearly the same as just
>>>>> deleting them on some random kernel version without telling anyone.
>>>>>
>>>>> I'm not sure where you got "2.6.23" and "2.6.28" from, maybe you meant
>>>>> "2.6.33",
>>> Oh, sure it should be 2.6.33 and 2.6.38, sorry!
>>>
>>>>> which is unfortunately just after the cutoff for both RHEL6 and SLES11SP1.
>>>> I am not sure that I follow the concern - people who use upstream follow that,
>>>> people who use vendor kernels get some branched version of something old.
>>>>
>>>> In fact, we try hard *not* to do things in RHEL kernels that are not
>>>> upstream first. I would be perfectly happy to drop it upstream first and
>>>> then deprecate it in a future RHEL release.
>>> Ric has a valid point, it does not matter that the deprecation change
>>> did not appear in RHEL, SLES or others because it is really a distributor
>>> decision what code from what kernel version to use and communicate
>>> changes with their customers.
>>>
>>> That said, I do not think there is a point in upstream waiting for
>>> distributors to adopt some change. Especially when it is not a question
>>> feature test coverage.
>> *nod* I don't mean to turn this into an RH me-too fest, but we usually
>> go the other way; make changes we want to see upstream first, and then
>> they find their way into a distro.
>>
>> We try to be pretty conservative on which of the filesystem configurations
>> we support (you all know of my love for mount option matrices by now)
>> so I'll shed no tear over losing these ...
> I think you are all missing my point.
>
> The reason we mark options deprecated is so that users have some chance to
> see this in advance and allow them to fix up their userspace and stop using
> the options so that their mounts don't start failing when they upgrade to
> some kernel that doesn't support them.
>
> If the majority of users (~= RHEL and SLES users) have never used a kernel
> where these options were marked deprecated (i.e. 2.6.33+), then from their
> POV it will be the same as if the options were just yanked out from under
> their feet when they eventually do upgrade the kernel, since they will never
> have seen an intermediate kernel.
>
> I understand that you want to incorporate changes into RHEL that are already
> upstream, so I would suggest FIRST to merge into RHEL6.x changes marking
> these mount options as deprecated (which are upstream since 2.6.33), and we
> can try to do the same for SLES11 SP1.  This will give a much wider exposure
> to the option deprecation.  If there are no serious complaints from users
> in the next year (which you are already confident of, if you want to remove
> the options entirely) we can safely remove the mount options in upstream,
> still leaving plenty of time to include this change into RHEL7.
>
> Cheers, Andreas

I still think that you have the vendor flow backwards here. We rely on users of 
upstream kernels to notice and complain and also assume that any proposed 
deprecation would get lots of test users in Fedora (for RHEL at least).

Both of these have had *plenty* of time to let people notice.

Distro vendors routinely remove or declare "not supported" things that work 
quite well in upstream. Top of my "not supported" list for RHEL is migration in 
place from ext3 to ext4 - we don't test that and do not support it.

I vote that we drop both in upstream.

Thanks!

Ric

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lukas Czerner - Sept. 1, 2011, 8:35 a.m.
On Tue, 28 Jun 2011, Lukas Czerner wrote:

> Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
> been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
> However it is not a big deal because those are defaults anyway and the
> options for setting their opposites still remains in kernel (however are
> still deprecated). Also push the kernel version to remove those leftover
> options further in time.

ping

> 
> Signed-off-by: Lukas Czerner <lczerner@redhat.com>
> ---
>  Documentation/filesystems/ext4.txt |    4 ----
>  fs/ext4/super.c                    |   20 +++-----------------
>  2 files changed, 3 insertions(+), 21 deletions(-)
> 
> diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt
> index 9544e2c..b33434f 100644
> --- a/Documentation/filesystems/ext4.txt
> +++ b/Documentation/filesystems/ext4.txt
> @@ -223,7 +223,6 @@ noacl			This option disables POSIX Access Control List
>  			page and http://acl.bestbits.at/ for more information
>  			about acl.
>  
> -bsddf		(*)	Make 'df' act like BSD.
>  minixdf			Make 'df' act like Minix.
>  
>  debug			Extra debugging information is sent to syslog.
> @@ -247,9 +246,6 @@ data_err=abort		Abort the journal if an error occurs in a file
>  grpid			Give objects the same group ID as their creator.
>  bsdgroups
>  
> -nogrpid		(*)	New objects have the group ID of their creator.
> -sysvgroups
> -
>  resgid=n		The group ID which may use the reserved blocks.
>  
>  resuid=n		The user ID which may use the reserved blocks.
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 9ea71aa..a75320e 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -1274,7 +1274,7 @@ static const struct export_operations ext4_export_ops = {
>  };
>  
>  enum {
> -	Opt_bsd_df, Opt_minix_df, Opt_grpid, Opt_nogrpid,
> +	Opt_minix_df, Opt_grpid,
>  	Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont, Opt_err_panic, Opt_err_ro,
>  	Opt_nouid32, Opt_debug, Opt_oldalloc, Opt_orlov,
>  	Opt_user_xattr, Opt_nouser_xattr, Opt_acl, Opt_noacl,
> @@ -1297,12 +1297,9 @@ enum {
>  };
>  
>  static const match_table_t tokens = {
> -	{Opt_bsd_df, "bsddf"},
>  	{Opt_minix_df, "minixdf"},
>  	{Opt_grpid, "grpid"},
>  	{Opt_grpid, "bsdgroups"},
> -	{Opt_nogrpid, "nogrpid"},
> -	{Opt_nogrpid, "sysvgroups"},
>  	{Opt_resgid, "resgid=%u"},
>  	{Opt_resuid, "resuid=%u"},
>  	{Opt_sb, "sb=%u"},
> @@ -1486,24 +1483,13 @@ static int parse_options(char *options, struct super_block *sb,
>  		args[0].to = args[0].from = NULL;
>  		token = match_token(p, tokens, args);
>  		switch (token) {
> -		case Opt_bsd_df:
> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> -			clear_opt(sb, MINIX_DF);
> -			break;
>  		case Opt_minix_df:
> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
>  			set_opt(sb, MINIX_DF);
> -
>  			break;
>  		case Opt_grpid:
> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
>  			set_opt(sb, GRPID);
> -
> -			break;
> -		case Opt_nogrpid:
> -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> -			clear_opt(sb, GRPID);
> -
>  			break;
>  		case Opt_resuid:
>  			if (match_int(&args[0], &option))
>
Lukas Czerner - Oct. 5, 2011, 2:34 p.m.
On Thu, 1 Sep 2011, Lukas Czerner wrote:

> On Tue, 28 Jun 2011, Lukas Czerner wrote:
> 
> > Remove deprecated mount options bsddf, nogrpid, sysvgroups which has
> > been marked as deprecated since 2.6.23 and should be removed in 2.6.28.
> > However it is not a big deal because those are defaults anyway and the
> > options for setting their opposites still remains in kernel (however are
> > still deprecated). Also push the kernel version to remove those leftover
> > options further in time.
> 
> ping

ping^2

> 
> > 
> > Signed-off-by: Lukas Czerner <lczerner@redhat.com>
> > ---
> >  Documentation/filesystems/ext4.txt |    4 ----
> >  fs/ext4/super.c                    |   20 +++-----------------
> >  2 files changed, 3 insertions(+), 21 deletions(-)
> > 
> > diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt
> > index 9544e2c..b33434f 100644
> > --- a/Documentation/filesystems/ext4.txt
> > +++ b/Documentation/filesystems/ext4.txt
> > @@ -223,7 +223,6 @@ noacl			This option disables POSIX Access Control List
> >  			page and http://acl.bestbits.at/ for more information
> >  			about acl.
> >  
> > -bsddf		(*)	Make 'df' act like BSD.
> >  minixdf			Make 'df' act like Minix.
> >  
> >  debug			Extra debugging information is sent to syslog.
> > @@ -247,9 +246,6 @@ data_err=abort		Abort the journal if an error occurs in a file
> >  grpid			Give objects the same group ID as their creator.
> >  bsdgroups
> >  
> > -nogrpid		(*)	New objects have the group ID of their creator.
> > -sysvgroups
> > -
> >  resgid=n		The group ID which may use the reserved blocks.
> >  
> >  resuid=n		The user ID which may use the reserved blocks.
> > diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> > index 9ea71aa..a75320e 100644
> > --- a/fs/ext4/super.c
> > +++ b/fs/ext4/super.c
> > @@ -1274,7 +1274,7 @@ static const struct export_operations ext4_export_ops = {
> >  };
> >  
> >  enum {
> > -	Opt_bsd_df, Opt_minix_df, Opt_grpid, Opt_nogrpid,
> > +	Opt_minix_df, Opt_grpid,
> >  	Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont, Opt_err_panic, Opt_err_ro,
> >  	Opt_nouid32, Opt_debug, Opt_oldalloc, Opt_orlov,
> >  	Opt_user_xattr, Opt_nouser_xattr, Opt_acl, Opt_noacl,
> > @@ -1297,12 +1297,9 @@ enum {
> >  };
> >  
> >  static const match_table_t tokens = {
> > -	{Opt_bsd_df, "bsddf"},
> >  	{Opt_minix_df, "minixdf"},
> >  	{Opt_grpid, "grpid"},
> >  	{Opt_grpid, "bsdgroups"},
> > -	{Opt_nogrpid, "nogrpid"},
> > -	{Opt_nogrpid, "sysvgroups"},
> >  	{Opt_resgid, "resgid=%u"},
> >  	{Opt_resuid, "resuid=%u"},
> >  	{Opt_sb, "sb=%u"},
> > @@ -1486,24 +1483,13 @@ static int parse_options(char *options, struct super_block *sb,
> >  		args[0].to = args[0].from = NULL;
> >  		token = match_token(p, tokens, args);
> >  		switch (token) {
> > -		case Opt_bsd_df:
> > -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> > -			clear_opt(sb, MINIX_DF);
> > -			break;
> >  		case Opt_minix_df:
> > -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> > +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
> >  			set_opt(sb, MINIX_DF);
> > -
> >  			break;
> >  		case Opt_grpid:
> > -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> > +			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
> >  			set_opt(sb, GRPID);
> > -
> > -			break;
> > -		case Opt_nogrpid:
> > -			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
> > -			clear_opt(sb, GRPID);
> > -
> >  			break;
> >  		case Opt_resuid:
> >  			if (match_int(&args[0], &option))
> > 
> 
>

Patch

diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt
index 9544e2c..b33434f 100644
--- a/Documentation/filesystems/ext4.txt
+++ b/Documentation/filesystems/ext4.txt
@@ -223,7 +223,6 @@  noacl			This option disables POSIX Access Control List
 			page and http://acl.bestbits.at/ for more information
 			about acl.
 
-bsddf		(*)	Make 'df' act like BSD.
 minixdf			Make 'df' act like Minix.
 
 debug			Extra debugging information is sent to syslog.
@@ -247,9 +246,6 @@  data_err=abort		Abort the journal if an error occurs in a file
 grpid			Give objects the same group ID as their creator.
 bsdgroups
 
-nogrpid		(*)	New objects have the group ID of their creator.
-sysvgroups
-
 resgid=n		The group ID which may use the reserved blocks.
 
 resuid=n		The user ID which may use the reserved blocks.
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 9ea71aa..a75320e 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1274,7 +1274,7 @@  static const struct export_operations ext4_export_ops = {
 };
 
 enum {
-	Opt_bsd_df, Opt_minix_df, Opt_grpid, Opt_nogrpid,
+	Opt_minix_df, Opt_grpid,
 	Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont, Opt_err_panic, Opt_err_ro,
 	Opt_nouid32, Opt_debug, Opt_oldalloc, Opt_orlov,
 	Opt_user_xattr, Opt_nouser_xattr, Opt_acl, Opt_noacl,
@@ -1297,12 +1297,9 @@  enum {
 };
 
 static const match_table_t tokens = {
-	{Opt_bsd_df, "bsddf"},
 	{Opt_minix_df, "minixdf"},
 	{Opt_grpid, "grpid"},
 	{Opt_grpid, "bsdgroups"},
-	{Opt_nogrpid, "nogrpid"},
-	{Opt_nogrpid, "sysvgroups"},
 	{Opt_resgid, "resgid=%u"},
 	{Opt_resuid, "resuid=%u"},
 	{Opt_sb, "sb=%u"},
@@ -1486,24 +1483,13 @@  static int parse_options(char *options, struct super_block *sb,
 		args[0].to = args[0].from = NULL;
 		token = match_token(p, tokens, args);
 		switch (token) {
-		case Opt_bsd_df:
-			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
-			clear_opt(sb, MINIX_DF);
-			break;
 		case Opt_minix_df:
-			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
+			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
 			set_opt(sb, MINIX_DF);
-
 			break;
 		case Opt_grpid:
-			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
+			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "3.5");
 			set_opt(sb, GRPID);
-
-			break;
-		case Opt_nogrpid:
-			ext4_msg(sb, KERN_WARNING, deprecated_msg, p, "2.6.38");
-			clear_opt(sb, GRPID);
-
 			break;
 		case Opt_resuid:
 			if (match_int(&args[0], &option))