SLES10 Fixes (part 2):

- 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.
This commit is contained in:
Brian Behlendorf
2009-05-20 10:08:37 -07:00
parent bf338d8d09
commit 96dded3844
11 changed files with 217 additions and 94 deletions
+2
View File
@@ -1,6 +1,8 @@
#ifndef _SPL_KALLSYMS_COMPAT_H
#define _SPL_KALLSYMS_COMPAT_H
#define SYMBOL_POISON ((void*)0xabcddcba)
#ifdef HAVE_KALLSYMS_LOOKUP_NAME
#include <linux/kallsyms.h>