914b063133
In the 2.6.37 kernel the function invalidate_inodes() is no longer exported for use by modules. This memory management functionality is needed to invalidate the inodes attached to a super block without unmounting the filesystem. Because this function still exists in the kernel and the prototype is available is a common header all we strictly need is the symbol address. The address is obtained using spl_kallsyms_lookup_name() and assigned to the variable invalidate_inodes_fn. Then a #define is used to replace all instances of invalidate_inodes() with a call to the acquired address. All the complexity is hidden behind HAVE_INVALIDATE_INODES and invalidate_inodes() can be used as usual. Long term we should try to get this, or another, interface made available to modules again. |
||
---|---|---|
.. | ||
bitops_compat.h | ||
compiler_compat.h | ||
file_compat.h | ||
kallsyms_compat.h | ||
list_compat.h | ||
Makefile.in | ||
math64_compat.h | ||
mm_compat.h | ||
module_compat.h | ||
mutex_compat.h | ||
proc_compat.h | ||
rwsem_compat.h | ||
smp_compat.h | ||
sysctl_compat.h | ||
time_compat.h | ||
uaccess_compat.h | ||
workqueue_compat.h |