]> git.proxmox.com Git - mirror_zfs.git/commit - config/kernel-lookup-nameidata.m4
Fix config issues: frame size and headers
authorchrisrd <chris@onthe.net.au>
Thu, 15 Feb 2018 20:58:23 +0000 (07:58 +1100)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 15 Feb 2018 20:58:23 +0000 (12:58 -0800)
commite921f6508b212c61fcedd0eeb2f9cf9da1abc4d1
tree1eb47661e8e4f048f29dfc93e028d27bda0c7652
parent62d5c5531334c25918dad7f2b303eefe33da4f5a
Fix config issues: frame size and headers

1. With various (debug and/or tracing?) kernel options enabled it's
possible for 'struct inode' and 'struct super_block' to exceed the
default frame size, leaving errors like this in config.log:

build/conftest.c:116:1: error: the frame size of 1048 bytes is larger
than 1024 bytes [-Werror=frame-larger-than=]

Fix this by removing the frame size warning for config checks

2. Without the correct headers included, it's possible for declarations
to be missed, leaving errors like this in the config.log:

build/conftest.c:131:14: error: ‘struct nameidata’ declared inside
parameter list [-Werror]

Fix this by adding appropriate headers.

Note: Both these issues can result in silent config failures because
the compile failure is taken to mean "this option is not supported by
this kernel" rather than "there's something wrong with the config
test". This can lead to something merely annoying (compile failures) to
something potentially serious (miscompiled or misused kernel primitives
or functions). E.g. the fixes included here resulted in these
additional defines in zfs_config.h with linux v4.14.19:

Also, drive-by whitespace fixes in config/* files which don't mention
"GNU" (those ones look to be imported from elsewhere so leave them
alone).

Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Chris Dunlop <chris@onthe.net.au>
Closes #7169
config/deb.am
config/kernel-acl.m4
config/kernel-create-nameidata.m4
config/kernel-dentry-operations.m4
config/kernel-get-link.m4
config/kernel-lookup-nameidata.m4
config/kernel-vm_node_stat.m4
config/kernel.m4
config/tgz.am
config/user-libblkid.m4
config/user-libssl.m4