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)
|
|
])
|
|
])
|