summaryrefslogtreecommitdiffstats
path: root/config/kernel-blkdev-get-by-path.m4
diff options
context:
space:
mode:
authorEtienne Dechamps <[email protected]>2012-07-25 14:38:58 -0700
committerBrian Behlendorf <[email protected]>2012-07-26 13:42:57 -0700
commit705741827ab55e7d92c3eb74f332a5ddd24971b5 (patch)
tree1b8ca75c3355fb84cba4fddd0c7b4852be95d763 /config/kernel-blkdev-get-by-path.m4
parentfc88a6dda92a4fc00491a8afa24d144cc94063e4 (diff)
When checking for symbol exports, try compiling.
This patch adds a new autoconf function: ZFS_LINUX_TRY_COMPILE_SYMBOL. This new function does the following: - Call LINUX_TRY_COMPILE with the specified parameters. - If unsuccessful, return false. - If successful and we're configuring with --enable-linux-builtin, return true. - Else, call CHECK_SYMBOL_EXPORT with the specified parameters and return the result. All calls to CHECK_SYMBOL_EXPORT are converted to LINUX_TRY_COMPILE_SYMBOL so that the tests work even when configuring for builtin on a kernel which doesn't have loadable module support, or hasn't been built yet. Signed-off-by: Brian Behlendorf <[email protected]> Issue #851
Diffstat (limited to 'config/kernel-blkdev-get-by-path.m4')
-rw-r--r--config/kernel-blkdev-get-by-path.m420
1 files changed, 13 insertions, 7 deletions
diff --git a/config/kernel-blkdev-get-by-path.m4 b/config/kernel-blkdev-get-by-path.m4
index 0d5d2b120..40ecc06b6 100644
--- a/config/kernel-blkdev-get-by-path.m4
+++ b/config/kernel-blkdev-get-by-path.m4
@@ -3,11 +3,17 @@ dnl # 2.6.38 API change
dnl # open_bdev_exclusive() changed to blkdev_get_by_path()
dnl # close_bdev_exclusive() changed to blkdev_put()
dnl #
-AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH], [
- ZFS_CHECK_SYMBOL_EXPORT(
- [blkdev_get_by_path],
- [fs/block_dev.c],
- [AC_DEFINE(HAVE_BLKDEV_GET_BY_PATH, 1,
- [blkdev_get_by_path() is available])],
- [])
+AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH],
+ [AC_MSG_CHECKING([whether blkdev_get_by_path() is available])
+ ZFS_LINUX_TRY_COMPILE_SYMBOL([
+ #include <linux/fs.h>
+ ], [
+ blkdev_get_by_path(NULL, 0, NULL);
+ ], [blkdev_get_by_path], [fs/block_dev.c], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_BLKDEV_GET_BY_PATH, 1,
+ [blkdev_get_by_path() is available])
+ ], [
+ AC_MSG_RESULT(no)
+ ])
])