|
@@ -1704,23 +1704,6 @@ static int calculate_sizes(struct kmem_cache *s)
|
|
|
|
|
|
}
|
|
|
|
|
|
-static int __init finish_bootstrap(void)
|
|
|
-{
|
|
|
- struct list_head *h;
|
|
|
- int err;
|
|
|
-
|
|
|
- slab_state = SYSFS;
|
|
|
-
|
|
|
- list_for_each(h, &slab_caches) {
|
|
|
- struct kmem_cache *s =
|
|
|
- container_of(h, struct kmem_cache, list);
|
|
|
-
|
|
|
- err = sysfs_slab_add(s);
|
|
|
- BUG_ON(err);
|
|
|
- }
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
static int kmem_cache_open(struct kmem_cache *s, gfp_t gfpflags,
|
|
|
const char *name, size_t size,
|
|
|
size_t align, unsigned long flags,
|
|
@@ -3482,6 +3465,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
|
|
|
|
|
|
static int __init slab_sysfs_init(void)
|
|
|
{
|
|
|
+ struct list_head *h;
|
|
|
int err;
|
|
|
|
|
|
err = subsystem_register(&slab_subsys);
|
|
@@ -3490,7 +3474,15 @@ static int __init slab_sysfs_init(void)
|
|
|
return -ENOSYS;
|
|
|
}
|
|
|
|
|
|
- finish_bootstrap();
|
|
|
+ slab_state = SYSFS;
|
|
|
+
|
|
|
+ list_for_each(h, &slab_caches) {
|
|
|
+ struct kmem_cache *s =
|
|
|
+ container_of(h, struct kmem_cache, list);
|
|
|
+
|
|
|
+ err = sysfs_slab_add(s);
|
|
|
+ BUG_ON(err);
|
|
|
+ }
|
|
|
|
|
|
while (alias_list) {
|
|
|
struct saved_alias *al = alias_list;
|
|
@@ -3506,6 +3498,4 @@ static int __init slab_sysfs_init(void)
|
|
|
}
|
|
|
|
|
|
__initcall(slab_sysfs_init);
|
|
|
-#else
|
|
|
-__initcall(finish_bootstrap);
|
|
|
#endif
|