]> git.proxmox.com Git - mirror_spl.git/commit
Linux compat 2.6.37, invalidate_inodes()
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 23 Feb 2011 20:25:45 +0000 (12:25 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 23 Feb 2011 20:44:32 +0000 (12:44 -0800)
commit914b063133365a17b1f607cbe96102259e497753
treef90c6739c85e1c71638aa7e43efc6123eb7d4aec
parentbf665d4075e9777af089e669c65f72d5d652f26e
Linux compat 2.6.37, invalidate_inodes()

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.
config/spl-build.m4
configure
include/linux/mm_compat.h
module/spl/spl-kmem.c
spl_config.h.in