2020-09-21 01:05:48

by AC

[permalink] [raw]
Subject: PROBLEM: 5.9.0-rc6 fails to comp ile due to 'redefinition of ‘dax_supported’'

I am trying to compile for an x86_64 machine (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz). The config file I am currently using is at

https://termbin.com/xin7

The build for 5.9.0-rc6 fails with the following errors:

--- cut here ---

drivers/dax/super.c:325:6: error: redefinition of ‘dax_supported’
325 | bool dax_supported(struct dax_device *dax_dev, struct block_device *bdev,
| ^~~~~~~~~~~~~
In file included from drivers/dax/super.c:16:
./include/linux/dax.h:162:20: note: previous definition of ‘dax_supported’ was here
162 | static inline bool dax_supported(struct dax_device *dax_dev,
| ^~~~~~~~~~~~~
CC lib/memregion.o
CC [M] drivers/gpu/drm/drm_gem_vram_helper.o
make[2]: *** [scripts/Makefile.build:283: drivers/dax/super.o] Error 1
make[1]: *** [scripts/Makefile.build:500: drivers/dax] Error 2
make[1]: *** Waiting for unfinished jobs....

--- end ---

That's earlier on, and then later, at the end of the (failed) build:

make: *** [Makefile:1784: drivers] Error 2

The full build log is at

https://termbin.com/ihxj

but I do not see anything else amiss. 5.9.0-rc5 built fine last week.


2020-09-21 02:28:23

by AC

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'redefinition of ‘dax_supported’'

An update on this: I've done a bisect, with the following result.

--- cut here ---

e2ec5128254518cae320d5dc631b71b94160f663 is the first bad commit
commit e2ec5128254518cae320d5dc631b71b94160f663
Author: Jan Kara <[email protected]>
Date: Sun Sep 20 08:54:42 2020 -0700

dm: Call proper helper to determine dax support

DM was calling generic_fsdax_supported() to determine whether a device
referenced in the DM table supports DAX. However this is a helper for "leaf" device drivers so that
they don't have to duplicate common generic checks. High level code
should call dax_supported() helper which that calls into appropriate
helper for the particular device. This problem manifested itself as
kernel messages:

dm-3: error: dax access failed (-95)

when lvm2-testsuite run in cases where a DM device was stacked on top of
another DM device.

Fixes: 7bf7eac8d648 ("dax: Arrange for dax_supported check to span multiple devices")
Cc: <[email protected]>
Tested-by: Adrian Huang <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
Acked-by: Mike Snitzer <[email protected]>
Reported-by: kernel test robot <[email protected]>
Link: https://lore.kernel.org/r/160061715195.13131.5503173247632041975.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <[email protected]>

drivers/dax/super.c | 4 ++++
drivers/md/dm-table.c | 10 +++++++---
include/linux/dax.h | 22 ++++++++++++++++++++--
3 files changed, 31 insertions(+), 5 deletions(-)

--- end ---

On Sun, Sep 20, 2020 at 09:03:59PM -0400, Stuart Little wrote:
> I am trying to compile for an x86_64 machine (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz). The config file I am currently using is at
>
> https://termbin.com/xin7
>
> The build for 5.9.0-rc6 fails with the following errors:
>
> --- cut here ---
>
> drivers/dax/super.c:325:6: error: redefinition of ‘dax_supported’
> 325 | bool dax_supported(struct dax_device *dax_dev, struct block_device *bdev,
> | ^~~~~~~~~~~~~
> In file included from drivers/dax/super.c:16:
> ./include/linux/dax.h:162:20: note: previous definition of ‘dax_supported’ was here
> 162 | static inline bool dax_supported(struct dax_device *dax_dev,
> | ^~~~~~~~~~~~~
> CC lib/memregion.o
> CC [M] drivers/gpu/drm/drm_gem_vram_helper.o
> make[2]: *** [scripts/Makefile.build:283: drivers/dax/super.o] Error 1
> make[1]: *** [scripts/Makefile.build:500: drivers/dax] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> --- end ---
>
> That's earlier on, and then later, at the end of the (failed) build:
>
> make: *** [Makefile:1784: drivers] Error 2
>
> The full build log is at
>
> https://termbin.com/ihxj
>
> but I do not see anything else amiss. 5.9.0-rc5 built fine last week.

2020-09-21 03:51:41

by Robert Gadsdon

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'redefinition of ‘dax_supported’'


On 9/20/20 7:25 PM, Stuart Little wrote:
> An update on this: I've done a bisect, with the following result.
>
> --- cut here ---
>
> e2ec5128254518cae320d5dc631b71b94160f663 is the first bad commit
> commit e2ec5128254518cae320d5dc631b71b94160f663
> Author: Jan Kara <[email protected]>
> Date: Sun Sep 20 08:54:42 2020 -0700
>
> dm: Call proper helper to determine dax support
>
> DM was calling generic_fsdax_supported() to determine whether a device
> referenced in the DM table supports DAX. However this is a helper for "leaf" device drivers so that
> they don't have to duplicate common generic checks. High level code
> should call dax_supported() helper which that calls into appropriate
> helper for the particular device. This problem manifested itself as
> kernel messages:
>
> dm-3: error: dax access failed (-95)
>
> when lvm2-testsuite run in cases where a DM device was stacked on top of
> another DM device.
>
> Fixes: 7bf7eac8d648 ("dax: Arrange for dax_supported check to span multiple devices")
> Cc: <[email protected]>
> Tested-by: Adrian Huang <[email protected]>
> Signed-off-by: Jan Kara <[email protected]>
> Acked-by: Mike Snitzer <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Link: https://lore.kernel.org/r/160061715195.13131.5503173247632041975.stgit@dwillia2-desk3.amr.corp.intel.com
> Signed-off-by: Dan Williams <[email protected]>
>
> drivers/dax/super.c | 4 ++++
> drivers/md/dm-table.c | 10 +++++++---
> include/linux/dax.h | 22 ++++++++++++++++++++--
> 3 files changed, 31 insertions(+), 5 deletions(-)
>
> --- end ---
>
Confirm that reverting this patch, 5.9-rc6 compiles OK ...

RG.

2020-09-21 06:08:26

by Naresh Kamboju

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'rede finition of ‘dax_supported’'

On Mon, 21 Sep 2020 at 06:34, Stuart Little <[email protected]> wrote:
>
> I am trying to compile for an x86_64 machine (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz). The config file I am currently using is at
>
> https://termbin.com/xin7
>
> The build for 5.9.0-rc6 fails with the following errors:
>

arm and mips allmodconfig build breaks due to this error.

>
> drivers/dax/super.c:325:6: error: redefinition of ‘dax_supported’
> 325 | bool dax_supported(struct dax_device *dax_dev, struct block_device *bdev,
> | ^~~~~~~~~~~~~
> In file included from drivers/dax/super.c:16:
> ./include/linux/dax.h:162:20: note: previous definition of ‘dax_supported’ was here
> 162 | static inline bool dax_supported(struct dax_device *dax_dev,
> | ^~~~~~~~~~~~~
> CC lib/memregion.o
> CC [M] drivers/gpu/drm/drm_gem_vram_helper.o
> make[2]: *** [scripts/Makefile.build:283: drivers/dax/super.o] Error 1
> make[1]: *** [scripts/Makefile.build:500: drivers/dax] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> --- end ---
>
> That's earlier on, and then later, at the end of the (failed) build:
>
> make: *** [Makefile:1784: drivers] Error 2
>
> The full build log is at
>
> https://termbin.com/ihxj
>
> but I do not see anything else amiss. 5.9.0-rc5 built fine last week.

Reported-by: Naresh Kamboju <[email protected]>

2020-09-21 07:33:13

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'redefinition of ‘dax_supported’'

On Mon, Sep 21, 2020 at 11:34:17AM +0530, Naresh Kamboju wrote:
> On Mon, 21 Sep 2020 at 06:34, Stuart Little <[email protected]> wrote:
> >
> > I am trying to compile for an x86_64 machine (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz). The config file I am currently using is at
> >
> > https://termbin.com/xin7
> >
> > The build for 5.9.0-rc6 fails with the following errors:
> >
>
> arm and mips allmodconfig build breaks due to this error.

all my local builds are breaking now too with this :(

Was there a proposed patch anywhere for this?

thanks,

greg k-h

2020-09-21 08:08:09

by Borislav Petkov

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'redefinition of ‘dax_supported’'

On Mon, Sep 21, 2020 at 09:32:18AM +0200, Greg KH wrote:
> all my local builds are breaking now too with this :(
>
> Was there a proposed patch anywhere for this?

I've disabled CONFIG_BLK_DEV_PMEM which allowed me to de-select those
two:

# CONFIG_DAX is not set
# CONFIG_FS_DAX is not set

and now it at least builds.

In order to avoid such breakage in the future, I'd suggest you guys to
run randconfigs on your stuff before sending, especially if the Kconfig
ifdeffery is not a trivial one like the DAX maze.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette

2020-09-21 08:51:38

by Bhaskar Chowdhury

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'redefinition of ‘dax_supported’'

On 09:32 Mon 21 Sep 2020, Greg KH wrote:
>On Mon, Sep 21, 2020 at 11:34:17AM +0530, Naresh Kamboju wrote:
>> On Mon, 21 Sep 2020 at 06:34, Stuart Little <[email protected]> wrote:
>> >
>> > I am trying to compile for an x86_64 machine (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz). The config file I am currently using is at
>> >
>> > https://termbin.com/xin7
>> >
>> > The build for 5.9.0-rc6 fails with the following errors:
>> >
>>
>> arm and mips allmodconfig build breaks due to this error.
>
>all my local builds are breaking now too with this :(
>
>Was there a proposed patch anywhere for this?
>
>thanks,
>
>greg k-h

I don't know Greg,but it builds for me with these config :

bhaskar@Slackware_14:14:31_Mon Sep 21:~> cd /data/linux
✔ /data/linux [master|⚑ 1]
14:14 $ grep DAX .config
CONFIG_NVDIMM_DAX=y
CONFIG_DAX_DRIVER=y
CONFIG_DAX=y
CONFIG_DEV_DAX=m
CONFIG_DEV_DAX_PMEM=m
CONFIG_DEV_DAX_KMEM=m
CONFIG_DEV_DAX_PMEM_COMPAT=m
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y


and it gets booted by qemu ....like this

[ 5.134563] devtmpfs: mounted
[ 5.164729] Freeing unused decrypted memory: 2040K
[ 5.314950] Freeing unused kernel image (initmem) memory: 1600K
[ 5.316543] Write protecting the kernel read-only data: 26624k
[ 5.327037] Freeing unused kernel image (text/rodata gap) memory: 2040K
[ 5.331005] Freeing unused kernel image (rodata/data gap) memory: 876K
[ 5.331861] rodata_test: all tests were successful
[ 5.332872] Run /sbin/init as init process
[ 5.694654] EXT4-fs (sda): re-mounted. Opts: (null)
[ 5.695839] ext4 filesystem being remounted at / supports timestamps until 2038 (0x7fffffff)
Starting syslogd: OK
Starting klogd: OK
Running sysctl: [ 6.974188] random: crng init done
OK
Initializing random number generator: OK
Saving random seed: OK
Starting network: [ 8.293018] hrtimer: interrupt took 4569776 ns
OK

Welcome to Buildroot_Linux
Bhaskar_Thinkpad_x250 login: root
# uname -a
Linux Bhaskar_Thinkpad_x250 5.9.0-rc6-Slackware #1 SMP Mon Sep 21 11:42:03 IST 2020 x86_64 GNU/Linux


~Bhaskar


Attachments:
(No filename) (2.08 kB)
signature.asc (499.00 B)
Download all attachments

2020-09-21 09:51:55

by Jan Kara

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'redefinition of ‘dax_supported’'

On Mon 21-09-20 09:32:18, Greg KH wrote:
> On Mon, Sep 21, 2020 at 11:34:17AM +0530, Naresh Kamboju wrote:
> > On Mon, 21 Sep 2020 at 06:34, Stuart Little <[email protected]> wrote:
> > >
> > > I am trying to compile for an x86_64 machine (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz). The config file I am currently using is at
> > >
> > > https://termbin.com/xin7
> > >
> > > The build for 5.9.0-rc6 fails with the following errors:
> > >
> >
> > arm and mips allmodconfig build breaks due to this error.
>
> all my local builds are breaking now too with this :(
>
> Was there a proposed patch anywhere for this?

Attached patch should fix the build breakage. I'm sorry for that.

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR


Attachments:
(No filename) (766.00 B)
0001-dax-Fix-compilation-for-CONFIG_DAX-CONFIG_FS_DAX.patch (2.35 kB)
Download all attachments

2020-09-21 10:10:31

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'rede finition of ‘dax_supported’'

Hi Honza,

On Mon, Sep 21, 2020 at 11:54 AM Jan Kara <[email protected]> wrote:
> On Mon 21-09-20 09:32:18, Greg KH wrote:
> > On Mon, Sep 21, 2020 at 11:34:17AM +0530, Naresh Kamboju wrote:
> > > On Mon, 21 Sep 2020 at 06:34, Stuart Little <[email protected]> wrote:
> > > > I am trying to compile for an x86_64 machine (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz). The config file I am currently using is at
> > > >
> > > > https://termbin.com/xin7
> > > >
> > > > The build for 5.9.0-rc6 fails with the following errors:
> > > >
> > >
> > > arm and mips allmodconfig build breaks due to this error.
> >
> > all my local builds are breaking now too with this :(
> >
> > Was there a proposed patch anywhere for this?
>
> Attached patch should fix the build breakage. I'm sorry for that.

Thanks, this fixes my m68k build issues:
Tested-by: Geert Uytterhoeven <[email protected]>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2020-09-21 10:30:52

by AC

[permalink] [raw]
Subject: Re: PROBLEM: 5.9.0-rc6 fails to compile due to 'redefinition of ‘dax_supported’'

Confirmed: the patch fixed the build for me as well; thank you!

On Mon, Sep 21, 2020 at 12:08:43PM +0200, Geert Uytterhoeven wrote:
> Hi Honza,
>
> On Mon, Sep 21, 2020 at 11:54 AM Jan Kara <[email protected]> wrote:
> > On Mon 21-09-20 09:32:18, Greg KH wrote:
> > > On Mon, Sep 21, 2020 at 11:34:17AM +0530, Naresh Kamboju wrote:
> > > > On Mon, 21 Sep 2020 at 06:34, Stuart Little <[email protected]> wrote:
> > > > > I am trying to compile for an x86_64 machine (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz). The config file I am currently using is at
> > > > >
> > > > > https://termbin.com/xin7
> > > > >
> > > > > The build for 5.9.0-rc6 fails with the following errors:
> > > > >
> > > >
> > > > arm and mips allmodconfig build breaks due to this error.
> > >
> > > all my local builds are breaking now too with this :(
> > >
> > > Was there a proposed patch anywhere for this?
> >
> > Attached patch should fix the build breakage. I'm sorry for that.
>
> Thanks, this fixes my m68k build issues:
> Tested-by: Geert Uytterhoeven <[email protected]>
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds