提交 133d205a 编写于 作者: A Alexey Dobriyan 提交者: Linus Torvalds

[PATCH] Make kmem_cache_destroy() return void

un-, de-, -free, -destroy, -exit, etc functions should in general return
void.  Also,

There is very little, say, filesystem driver code can do upon failed
kmem_cache_destroy().  If it will be decided to BUG in this case, BUG
should be put in generic code, instead.
Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 1a1d92c1
...@@ -60,7 +60,7 @@ extern void __init kmem_cache_init(void); ...@@ -60,7 +60,7 @@ extern void __init kmem_cache_init(void);
extern kmem_cache_t *kmem_cache_create(const char *, size_t, size_t, unsigned long, extern kmem_cache_t *kmem_cache_create(const char *, size_t, size_t, unsigned long,
void (*)(void *, kmem_cache_t *, unsigned long), void (*)(void *, kmem_cache_t *, unsigned long),
void (*)(void *, kmem_cache_t *, unsigned long)); void (*)(void *, kmem_cache_t *, unsigned long));
extern int kmem_cache_destroy(kmem_cache_t *); extern void kmem_cache_destroy(kmem_cache_t *);
extern int kmem_cache_shrink(kmem_cache_t *); extern int kmem_cache_shrink(kmem_cache_t *);
extern void *kmem_cache_alloc(kmem_cache_t *, gfp_t); extern void *kmem_cache_alloc(kmem_cache_t *, gfp_t);
extern void *kmem_cache_zalloc(struct kmem_cache *, gfp_t); extern void *kmem_cache_zalloc(struct kmem_cache *, gfp_t);
...@@ -249,7 +249,7 @@ struct kmem_cache *kmem_cache_create(const char *c, size_t, size_t, ...@@ -249,7 +249,7 @@ struct kmem_cache *kmem_cache_create(const char *c, size_t, size_t,
unsigned long, unsigned long,
void (*)(void *, struct kmem_cache *, unsigned long), void (*)(void *, struct kmem_cache *, unsigned long),
void (*)(void *, struct kmem_cache *, unsigned long)); void (*)(void *, struct kmem_cache *, unsigned long));
int kmem_cache_destroy(struct kmem_cache *c); void kmem_cache_destroy(struct kmem_cache *c);
void *kmem_cache_alloc(struct kmem_cache *c, gfp_t flags); void *kmem_cache_alloc(struct kmem_cache *c, gfp_t flags);
void *kmem_cache_zalloc(struct kmem_cache *, gfp_t); void *kmem_cache_zalloc(struct kmem_cache *, gfp_t);
void kmem_cache_free(struct kmem_cache *c, void *b); void kmem_cache_free(struct kmem_cache *c, void *b);
......
...@@ -2442,7 +2442,6 @@ EXPORT_SYMBOL(kmem_cache_shrink); ...@@ -2442,7 +2442,6 @@ EXPORT_SYMBOL(kmem_cache_shrink);
* @cachep: the cache to destroy * @cachep: the cache to destroy
* *
* Remove a struct kmem_cache object from the slab cache. * Remove a struct kmem_cache object from the slab cache.
* Returns 0 on success.
* *
* It is expected this function will be called by a module when it is * It is expected this function will be called by a module when it is
* unloaded. This will remove the cache completely, and avoid a duplicate * unloaded. This will remove the cache completely, and avoid a duplicate
...@@ -2454,7 +2453,7 @@ EXPORT_SYMBOL(kmem_cache_shrink); ...@@ -2454,7 +2453,7 @@ EXPORT_SYMBOL(kmem_cache_shrink);
* The caller must guarantee that noone will allocate memory from the cache * The caller must guarantee that noone will allocate memory from the cache
* during the kmem_cache_destroy(). * during the kmem_cache_destroy().
*/ */
int kmem_cache_destroy(struct kmem_cache *cachep) void kmem_cache_destroy(struct kmem_cache *cachep)
{ {
BUG_ON(!cachep || in_interrupt()); BUG_ON(!cachep || in_interrupt());
...@@ -2475,7 +2474,7 @@ int kmem_cache_destroy(struct kmem_cache *cachep) ...@@ -2475,7 +2474,7 @@ int kmem_cache_destroy(struct kmem_cache *cachep)
list_add(&cachep->next, &cache_chain); list_add(&cachep->next, &cache_chain);
mutex_unlock(&cache_chain_mutex); mutex_unlock(&cache_chain_mutex);
unlock_cpu_hotplug(); unlock_cpu_hotplug();
return 1; return;
} }
if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU))
...@@ -2483,7 +2482,6 @@ int kmem_cache_destroy(struct kmem_cache *cachep) ...@@ -2483,7 +2482,6 @@ int kmem_cache_destroy(struct kmem_cache *cachep)
__kmem_cache_destroy(cachep); __kmem_cache_destroy(cachep);
unlock_cpu_hotplug(); unlock_cpu_hotplug();
return 0;
} }
EXPORT_SYMBOL(kmem_cache_destroy); EXPORT_SYMBOL(kmem_cache_destroy);
......
...@@ -270,10 +270,9 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size, ...@@ -270,10 +270,9 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
} }
EXPORT_SYMBOL(kmem_cache_create); EXPORT_SYMBOL(kmem_cache_create);
int kmem_cache_destroy(struct kmem_cache *c) void kmem_cache_destroy(struct kmem_cache *c)
{ {
slob_free(c, sizeof(struct kmem_cache)); slob_free(c, sizeof(struct kmem_cache));
return 0;
} }
EXPORT_SYMBOL(kmem_cache_destroy); EXPORT_SYMBOL(kmem_cache_destroy);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册