Pull in fls64 compat changes from spl-00-rhel4-compat.patch,
to allow greater compatibility with kernels pre 2.6.16. git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@149 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
This commit is contained in:
parent
7afde631f6
commit
877a32e91e
@ -439,3 +439,21 @@ AC_DEFUN([SPL_AC_CTL_UNNUMBERED],
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # 2.6.16 API change.
|
||||
dnl # Check if 'fls64()' is available
|
||||
dnl #
|
||||
AC_DEFUN([SPL_AC_FLS64],
|
||||
[AC_MSG_CHECKING([whether fls64() is available])
|
||||
SPL_LINUX_TRY_COMPILE([
|
||||
#include <linux/bitops.h>
|
||||
],[
|
||||
return fls64(0);
|
||||
],[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_FLS64, 1, [fls64() is available])
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
|
@ -51,6 +51,7 @@ SPL_AC_SET_SHRINKER
|
||||
SPL_AC_PATH_IN_NAMEIDATA
|
||||
SPL_AC_TASK_CURR
|
||||
SPL_AC_CTL_UNNUMBERED
|
||||
SPL_AC_FLS64
|
||||
|
||||
TOPDIR=`/bin/pwd`
|
||||
|
||||
|
19
include/linux/bitops_compat.c
Normal file
19
include/linux/bitops_compat.c
Normal file
@ -0,0 +1,19 @@
|
||||
#ifndef _SPL_BITOPS_COMPAT_H
|
||||
#define _SPL_BITOPS_COMPAT_H
|
||||
|
||||
#include <linux/bitops.h>
|
||||
|
||||
#ifndef HAVE_FLS64
|
||||
|
||||
static inline int fls64(__u64 x)
|
||||
{
|
||||
__u32 h = x >> 32;
|
||||
if (h)
|
||||
return fls(h) + 32;
|
||||
return fls(x);
|
||||
}
|
||||
|
||||
#endif /* HAVE_FLS64 */
|
||||
|
||||
#endif /* _SPL_BITOPS_COMPAT_H */
|
||||
|
Loading…
Reference in New Issue
Block a user