mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-27 11:29:36 +03:00
96dded3844
- Configure check, the div64_64() function was renamed to div64_u64() as of 2.6.26. - Configure check, the global_page_state() fuction was introduced in 2.6.18 kernels. The earlier 2.6.16 based SLES10 must not try and use it, thankfully get_zone_counts() is still available. - To simplify debugging poison all symbols aquired dynamically using spl_kallsyms_lookup_name() with SYMBOL_POISON. - Add console messages when the user mode helpers fail. - spl_kmem_init_globals() use bit shifts instead of division. - When the monotonic clock is unavailable __gethrtime() must perform the HZ division as an 'unsigned long long' because the SPL only implements __udivdi3(), and not __divdi3() for 'long long' division on 32-bit arches.
20 lines
514 B
C
20 lines
514 B
C
#ifndef _SPL_KALLSYMS_COMPAT_H
|
|
#define _SPL_KALLSYMS_COMPAT_H
|
|
|
|
#define SYMBOL_POISON ((void*)0xabcddcba)
|
|
|
|
#ifdef HAVE_KALLSYMS_LOOKUP_NAME
|
|
|
|
#include <linux/kallsyms.h>
|
|
#define spl_kallsyms_lookup_name(name) kallsyms_lookup_name(name)
|
|
|
|
#else
|
|
|
|
typedef unsigned long (*kallsyms_lookup_name_t)(const char *);
|
|
extern kallsyms_lookup_name_t spl_kallsyms_lookup_name_fn;
|
|
#define spl_kallsyms_lookup_name(name) spl_kallsyms_lookup_name_fn(name)
|
|
|
|
#endif /* HAVE_KALLSYMS_LOOKUP_NAME */
|
|
|
|
#endif /* _SPL_KALLSYMS_COMPAT_H */
|