mm: clean up and kernelify shrinker registration
[safe/jmp/linux-2.6] / fs / mbcache.c
index deeb9dc..fbb1d02 100644 (file)
@@ -100,7 +100,6 @@ struct mb_cache {
 static LIST_HEAD(mb_cache_list);
 static LIST_HEAD(mb_cache_lru_list);
 static DEFINE_SPINLOCK(mb_cache_spinlock);
-static struct shrinker *mb_shrinker;
 
 static inline int
 mb_cache_indexes(struct mb_cache *cache)
@@ -118,6 +117,10 @@ mb_cache_indexes(struct mb_cache *cache)
 
 static int mb_cache_shrink_fn(int nr_to_scan, gfp_t gfp_mask);
 
+static struct shrinker mb_cache_shrinker = {
+       .shrink = mb_cache_shrink_fn,
+       .seeks = DEFAULT_SEEKS,
+};
 
 static inline int
 __mb_cache_entry_is_hashed(struct mb_cache_entry *ce)
@@ -662,13 +665,13 @@ mb_cache_entry_find_next(struct mb_cache_entry *prev, int index,
 
 static int __init init_mbcache(void)
 {
-       mb_shrinker = set_shrinker(DEFAULT_SEEKS, mb_cache_shrink_fn);
+       register_shrinker(&mb_cache_shrinker);
        return 0;
 }
 
 static void __exit exit_mbcache(void)
 {
-       remove_shrinker(mb_shrinker);
+       unregister_shrinker(&mb_cache_shrinker);
 }
 
 module_init(init_mbcache)