diff mbox series

nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default

Message ID 20210223141901.1652-1-timo@rothenpieler.org (mailing list archive)
State New, archived
Headers show
Series nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default | expand

Commit Message

Timo Rothenpieler Feb. 23, 2021, 2:19 p.m. UTC
This follows what was done in 8c2fabc6542d9d0f8b16bd1045c2eda59bdcde13.
With the default being m, it's impossible to build the module into the
kernel.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
---
 fs/nfs/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Trond Myklebust Feb. 23, 2021, 2:51 p.m. UTC | #1
On Tue, 2021-02-23 at 15:19 +0100, Timo Rothenpieler wrote:
> This follows what was done in
> 8c2fabc6542d9d0f8b16bd1045c2eda59bdcde13.
> With the default being m, it's impossible to build the module into
> the
> kernel.
> 
> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
> ---
>  fs/nfs/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
> index e2a488d403a6..14a72224b657 100644
> --- a/fs/nfs/Kconfig
> +++ b/fs/nfs/Kconfig
> @@ -127,7 +127,7 @@ config PNFS_BLOCK
>  config PNFS_FLEXFILE_LAYOUT
>         tristate
>         depends on NFS_V4_1 && NFS_V3
> -       default m
> +       default NFS_V4
>  

Let's just make that

    default y

...and let the dependencies work out whether or not this needs to be a
'y', 'm' or 'N'. Tying it to NFS_V4 just makes the Kconfig harder to
read, with the result being the same anyway.

>  config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN
>         string "NFSv4.1 Implementation ID Domain"
Timo Rothenpieler Feb. 23, 2021, 2:54 p.m. UTC | #2
On 23.02.2021 15:51, Trond Myklebust wrote:
> On Tue, 2021-02-23 at 15:19 +0100, Timo Rothenpieler wrote:
>> This follows what was done in
>> 8c2fabc6542d9d0f8b16bd1045c2eda59bdcde13.
>> With the default being m, it's impossible to build the module into
>> the
>> kernel.
>>
>> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
>> ---
>>   fs/nfs/Kconfig | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
>> index e2a488d403a6..14a72224b657 100644
>> --- a/fs/nfs/Kconfig
>> +++ b/fs/nfs/Kconfig
>> @@ -127,7 +127,7 @@ config PNFS_BLOCK
>>   config PNFS_FLEXFILE_LAYOUT
>>          tristate
>>          depends on NFS_V4_1 && NFS_V3
>> -       default m
>> +       default NFS_V4
>>   
> 
> Let's just make that
> 
>      default y
> 
> ...and let the dependencies work out whether or not this needs to be a
> 'y', 'm' or 'N'. Tying it to NFS_V4 just makes the Kconfig harder to
> read, with the result being the same anyway.

Sure. Should I change the other two PNFS_ configs to default to y as 
well while at it?
Trond Myklebust Feb. 23, 2021, 3:02 p.m. UTC | #3
On Tue, 2021-02-23 at 15:54 +0100, Timo Rothenpieler wrote:
> On 23.02.2021 15:51, Trond Myklebust wrote:
> > On Tue, 2021-02-23 at 15:19 +0100, Timo Rothenpieler wrote:
> > > This follows what was done in
> > > 8c2fabc6542d9d0f8b16bd1045c2eda59bdcde13.
> > > With the default being m, it's impossible to build the module
> > > into
> > > the
> > > kernel.
> > > 
> > > Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
> > > ---
> > >   fs/nfs/Kconfig | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
> > > index e2a488d403a6..14a72224b657 100644
> > > --- a/fs/nfs/Kconfig
> > > +++ b/fs/nfs/Kconfig
> > > @@ -127,7 +127,7 @@ config PNFS_BLOCK
> > >   config PNFS_FLEXFILE_LAYOUT
> > >          tristate
> > >          depends on NFS_V4_1 && NFS_V3
> > > -       default m
> > > +       default NFS_V4
> > >   
> > 
> > Let's just make that
> > 
> >      default y
> > 
> > ...and let the dependencies work out whether or not this needs to
> > be a
> > 'y', 'm' or 'N'. Tying it to NFS_V4 just makes the Kconfig harder
> > to
> > read, with the result being the same anyway.
> 
> Sure. Should I change the other two PNFS_ configs to default to y as 
> well while at it?
> 

Oh hang on... Brain fart... I thought the dependency on NFS_V4_1 would
suffice to make the correct choice, but it looks like that is a 'bool'
and so it won't propagate the 'm' choice from NFS_V4. That is probably
why Christoph did the NFS_V4 default.

Never mind, then. Let's keep your first patch.
Nathan Chancellor March 16, 2021, 10:25 p.m. UTC | #4
On Tue, Feb 23, 2021 at 03:19:01PM +0100, Timo Rothenpieler wrote:
> This follows what was done in 8c2fabc6542d9d0f8b16bd1045c2eda59bdcde13.
> With the default being m, it's impossible to build the module into the
> kernel.
> 
> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
> ---
>  fs/nfs/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
> index e2a488d403a6..14a72224b657 100644
> --- a/fs/nfs/Kconfig
> +++ b/fs/nfs/Kconfig
> @@ -127,7 +127,7 @@ config PNFS_BLOCK
>  config PNFS_FLEXFILE_LAYOUT
>  	tristate
>  	depends on NFS_V4_1 && NFS_V3
> -	default m
> +	default NFS_V4
>  
>  config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN
>  	string "NFSv4.1 Implementation ID Domain"
> -- 
> 2.25.1
> 

Hi all,

I bisected a new modpost warning that I see with 5.12-rc3 to this commit:

$ make -skj"$(nproc)" ARCH=mips CROSS_COMPILE=mipsel-linux- O=build/mipsel distclean defconfig all
...
WARNING: modpost: Symbol info of vmlinux is missing. Unresolved symbol check will be entirely skipped.
...

$ git bisect log
# bad: [1e28eed17697bcf343c6743f0028cc3b5dd88bf0] Linux 5.12-rc3
# good: [a38fd8748464831584a19438cbb3082b5a2dab15] Linux 5.12-rc2
git bisect start 'v5.12-rc3' 'v5.12-rc2'
# good: [f78d76e72a4671ea52d12752d92077788b4f5d50] Merge tag 'drm-fixes-2021-03-12-1' of git://anongit.freedesktop.org/drm/drm
git bisect good f78d76e72a4671ea52d12752d92077788b4f5d50
# bad: [420623430a7015ae9adab8a087de82c186bc9989] Merge tag 'erofs-for-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs
git bisect bad 420623430a7015ae9adab8a087de82c186bc9989
# good: [261410082d01f2f2d4fcd19abee6b8e84f399c51] Merge tag 'devprop-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
git bisect good 261410082d01f2f2d4fcd19abee6b8e84f399c51
# good: [ce307084c96d0ec92c04fcc38b107241b168df11] Merge tag 'block-5.12-2021-03-12-v2' of git://git.kernel.dk/linux-block
git bisect good ce307084c96d0ec92c04fcc38b107241b168df11
# bad: [f296bfd5cd04cbb49b8fc9585adc280ab2b58624] Merge tag 'nfs-for-5.12-2' of git://git.linux-nfs.org/projects/anna/linux-nfs
git bisect bad f296bfd5cd04cbb49b8fc9585adc280ab2b58624
# good: [9afc1163794707a304f107bf21b8b37e5c6c34f4] Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
git bisect good 9afc1163794707a304f107bf21b8b37e5c6c34f4
# bad: [fd6d3feed041e96b84680d0bfc1e7abc8f65de92] NFS: Clean up function nfs_mark_dir_for_revalidate()
git bisect bad fd6d3feed041e96b84680d0bfc1e7abc8f65de92
# bad: [f0940f4b3284a00f38a5d42e6067c2aaa20e1f2e] SUNRPC: Set memalloc_nofs_save() for sync tasks
git bisect bad f0940f4b3284a00f38a5d42e6067c2aaa20e1f2e
# bad: [ad3dbe35c833c2d4d0bbf3f04c785d32f931e7c9] NFS: Correct size calculation for create reply length
git bisect bad ad3dbe35c833c2d4d0bbf3f04c785d32f931e7c9
# bad: [a0590473c5e6c4ef17c3132ad08fbad170f72d55] nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default
git bisect bad a0590473c5e6c4ef17c3132ad08fbad170f72d55
# first bad commit: [a0590473c5e6c4ef17c3132ad08fbad170f72d55] nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default

$ mipsel-linux-gcc --version
mipsel-linux-gcc (GCC) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I doubt this is a bug with this specific commit but I am not sure so I
have added Masahiro and the kbuild list as well as the MIPS list even
though it might not be MIPS specific (although I only see it with the
32-bit MIPS configs)

Cheers,
Nathan
Masahiro Yamada March 17, 2021, 4:43 a.m. UTC | #5
On Wed, Mar 17, 2021 at 7:25 AM Nathan Chancellor <nathan@kernel.org> wrote:
>
> On Tue, Feb 23, 2021 at 03:19:01PM +0100, Timo Rothenpieler wrote:
> > This follows what was done in 8c2fabc6542d9d0f8b16bd1045c2eda59bdcde13.
> > With the default being m, it's impossible to build the module into the
> > kernel.
> >
> > Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
> > ---
> >  fs/nfs/Kconfig | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
> > index e2a488d403a6..14a72224b657 100644
> > --- a/fs/nfs/Kconfig
> > +++ b/fs/nfs/Kconfig
> > @@ -127,7 +127,7 @@ config PNFS_BLOCK
> >  config PNFS_FLEXFILE_LAYOUT
> >       tristate
> >       depends on NFS_V4_1 && NFS_V3
> > -     default m
> > +     default NFS_V4
> >
> >  config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN
> >       string "NFSv4.1 Implementation ID Domain"
> > --
> > 2.25.1
> >
>
> Hi all,
>
> I bisected a new modpost warning that I see with 5.12-rc3 to this commit:
>
> $ make -skj"$(nproc)" ARCH=mips CROSS_COMPILE=mipsel-linux- O=build/mipsel distclean defconfig all
> ...
> WARNING: modpost: Symbol info of vmlinux is missing. Unresolved symbol check will be entirely skipped.
> ...

Thanks for the report.

MIPS defconfig enables CONFIG_TRIM_UNUSED_KSYMS.

Presumably with a0590473c5e6c4ef17,
MIPS defconfig enables CONFIG_MODULES,
but actually builds no module.

So, all symbols in vmlinux have been trimmed,
and vmlinux.symvers gets empty.

That is the reason for the warning.

I will consider how to fix this corner case.










>
> $ git bisect log
> # bad: [1e28eed17697bcf343c6743f0028cc3b5dd88bf0] Linux 5.12-rc3
> # good: [a38fd8748464831584a19438cbb3082b5a2dab15] Linux 5.12-rc2
> git bisect start 'v5.12-rc3' 'v5.12-rc2'
> # good: [f78d76e72a4671ea52d12752d92077788b4f5d50] Merge tag 'drm-fixes-2021-03-12-1' of git://anongit.freedesktop.org/drm/drm
> git bisect good f78d76e72a4671ea52d12752d92077788b4f5d50
> # bad: [420623430a7015ae9adab8a087de82c186bc9989] Merge tag 'erofs-for-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs
> git bisect bad 420623430a7015ae9adab8a087de82c186bc9989
> # good: [261410082d01f2f2d4fcd19abee6b8e84f399c51] Merge tag 'devprop-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
> git bisect good 261410082d01f2f2d4fcd19abee6b8e84f399c51
> # good: [ce307084c96d0ec92c04fcc38b107241b168df11] Merge tag 'block-5.12-2021-03-12-v2' of git://git.kernel.dk/linux-block
> git bisect good ce307084c96d0ec92c04fcc38b107241b168df11
> # bad: [f296bfd5cd04cbb49b8fc9585adc280ab2b58624] Merge tag 'nfs-for-5.12-2' of git://git.linux-nfs.org/projects/anna/linux-nfs
> git bisect bad f296bfd5cd04cbb49b8fc9585adc280ab2b58624
> # good: [9afc1163794707a304f107bf21b8b37e5c6c34f4] Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
> git bisect good 9afc1163794707a304f107bf21b8b37e5c6c34f4
> # bad: [fd6d3feed041e96b84680d0bfc1e7abc8f65de92] NFS: Clean up function nfs_mark_dir_for_revalidate()
> git bisect bad fd6d3feed041e96b84680d0bfc1e7abc8f65de92
> # bad: [f0940f4b3284a00f38a5d42e6067c2aaa20e1f2e] SUNRPC: Set memalloc_nofs_save() for sync tasks
> git bisect bad f0940f4b3284a00f38a5d42e6067c2aaa20e1f2e
> # bad: [ad3dbe35c833c2d4d0bbf3f04c785d32f931e7c9] NFS: Correct size calculation for create reply length
> git bisect bad ad3dbe35c833c2d4d0bbf3f04c785d32f931e7c9
> # bad: [a0590473c5e6c4ef17c3132ad08fbad170f72d55] nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default
> git bisect bad a0590473c5e6c4ef17c3132ad08fbad170f72d55
> # first bad commit: [a0590473c5e6c4ef17c3132ad08fbad170f72d55] nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default
>
> $ mipsel-linux-gcc --version
> mipsel-linux-gcc (GCC) 10.2.0
> Copyright (C) 2020 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> I doubt this is a bug with this specific commit but I am not sure so I
> have added Masahiro and the kbuild list as well as the MIPS list even
> though it might not be MIPS specific (although I only see it with the
> 32-bit MIPS configs)
>
> Cheers,
> Nathan



--
Best Regards
Masahiro Yamada
diff mbox series

Patch

diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
index e2a488d403a6..14a72224b657 100644
--- a/fs/nfs/Kconfig
+++ b/fs/nfs/Kconfig
@@ -127,7 +127,7 @@  config PNFS_BLOCK
 config PNFS_FLEXFILE_LAYOUT
 	tristate
 	depends on NFS_V4_1 && NFS_V3
-	default m
+	default NFS_V4
 
 config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN
 	string "NFSv4.1 Implementation ID Domain"