2011-06-28 15:53:21

by Lukas Czerner

[permalink] [raw]
Subject: [PATCH] ext4: Remove some deprecated mount options

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 <[email protected]>
---
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);


2011-06-28 16:35:11

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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






2011-06-29 08:55:38

by Ric Wheeler

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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 :))


2011-06-29 11:03:44

by Lukas Czerner

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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
> :))
>
>

--

2011-06-29 15:01:20

by Eric Sandeen

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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
>> :))
>>
>>
>


2011-06-29 18:16:11

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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






2011-06-30 09:20:17

by Lukas Czerner

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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

2011-07-02 06:03:31

by Ric Wheeler

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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


2011-09-01 08:35:58

by Lukas Czerner

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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 <[email protected]>
> ---
> 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))
>

--

2011-10-05 14:34:37

by Lukas Czerner

[permalink] [raw]
Subject: Re: [PATCH] ext4: Remove some deprecated mount options

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 <[email protected]>
> > ---
> > 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))
> >
>
>

--