2b7ab9d4d9
It's doubtful many people were impacted by this but commit 6c28567 accidentally broke ZFS builds for 2.6.26 and earlier kernels. This commit depends on the lookup_bdev() function which exists in 2.6.26 but wasn't exported until 2.6.27. The availability of the function isn't critical so a wrapper is introduced which returns ERR_PTR(-ENOTSUP) when the function isn't defined. This will have the effect of causing zvol_is_zvol() to always fail for 2.6.26 kernels. This in turn means vdevs will always get opened concurrently which is good for normal usage. This will only become an issue if your using a zvol as a vdev in another pool. In which case you really should be using a newer kernel anyway. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #1205
18 lines
403 B
Plaintext
18 lines
403 B
Plaintext
dnl #
|
|
dnl # 2.6.27 API change
|
|
dnl # lookup_bdev() was exported.
|
|
dnl #
|
|
AC_DEFUN([ZFS_AC_KERNEL_LOOKUP_BDEV],
|
|
[AC_MSG_CHECKING([whether lookup_bdev() is available])
|
|
ZFS_LINUX_TRY_COMPILE_SYMBOL([
|
|
#include <linux/fs.h>
|
|
], [
|
|
lookup_bdev(NULL);
|
|
], [lookup_bdev], [fs/block_dev.c], [
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_LOOKUP_BDEV, 1, [lookup_bdev() is available])
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
])
|