]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
mbcache: use consistent type for entry count
authorEric Biggers <ebiggers@google.com>
Sat, 3 Dec 2016 20:43:48 +0000 (15:43 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 3 Dec 2016 20:43:48 +0000 (15:43 -0500)
mbcache used several different types to represent the number of entries
in the cache.  For consistency within mbcache and with the shrinker API,
always use unsigned long.

This does not change behavior for current mbcache users (ext2 and ext4)
since they limit the entry count to a value which easily fits in an int.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
fs/mbcache.c

index 07c5d7d2b70196d1d0b8b25041b3a2f0990e66cc..bf659061a9a86ced71f020a33f8f6fd71390467a 100644 (file)
@@ -29,7 +29,7 @@ struct mb_cache {
        /* log2 of hash table size */
        int                     c_bucket_bits;
        /* Maximum entries in cache to avoid degrading hash too much */
-       int                     c_max_entries;
+       unsigned long           c_max_entries;
        /* Protects c_list, c_entry_count */
        spinlock_t              c_list_lock;
        struct list_head        c_list;
@@ -43,7 +43,7 @@ struct mb_cache {
 static struct kmem_cache *mb_entry_cache;
 
 static unsigned long mb_cache_shrink(struct mb_cache *cache,
-                                    unsigned int nr_to_scan);
+                                    unsigned long nr_to_scan);
 
 static inline struct hlist_bl_head *mb_cache_entry_head(struct mb_cache *cache,
                                                        u32 key)
@@ -274,11 +274,11 @@ static unsigned long mb_cache_count(struct shrinker *shrink,
 
 /* Shrink number of entries in cache */
 static unsigned long mb_cache_shrink(struct mb_cache *cache,
-                                    unsigned int nr_to_scan)
+                                    unsigned long nr_to_scan)
 {
        struct mb_cache_entry *entry;
        struct hlist_bl_head *head;
-       unsigned int shrunk = 0;
+       unsigned long shrunk = 0;
 
        spin_lock(&cache->c_list_lock);
        while (nr_to_scan-- && !list_empty(&cache->c_list)) {
@@ -316,10 +316,9 @@ static unsigned long mb_cache_shrink(struct mb_cache *cache,
 static unsigned long mb_cache_scan(struct shrinker *shrink,
                                   struct shrink_control *sc)
 {
-       int nr_to_scan = sc->nr_to_scan;
        struct mb_cache *cache = container_of(shrink, struct mb_cache,
                                              c_shrink);
-       return mb_cache_shrink(cache, nr_to_scan);
+       return mb_cache_shrink(cache, sc->nr_to_scan);
 }
 
 /* We shrink 1/X of the cache when we have too many entries in it */
@@ -341,8 +340,8 @@ static void mb_cache_shrink_worker(struct work_struct *work)
 struct mb_cache *mb_cache_create(int bucket_bits)
 {
        struct mb_cache *cache;
-       int bucket_count = 1 << bucket_bits;
-       int i;
+       unsigned long bucket_count = 1UL << bucket_bits;
+       unsigned long i;
 
        cache = kzalloc(sizeof(struct mb_cache), GFP_KERNEL);
        if (!cache)