forked from Minki/linux
kset: convert slub to use kset_create
Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Christoph Lameter <clameter@sgi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
aade4041aa
commit
27c3a314d5
15
mm/slub.c
15
mm/slub.c
@ -3962,7 +3962,7 @@ static struct kset_uevent_ops slab_uevent_ops = {
|
||||
.filter = uevent_filter,
|
||||
};
|
||||
|
||||
static decl_subsys(slab, &slab_uevent_ops);
|
||||
static struct kset *slab_kset;
|
||||
|
||||
#define ID_STR_LENGTH 64
|
||||
|
||||
@ -4015,7 +4015,7 @@ static int sysfs_slab_add(struct kmem_cache *s)
|
||||
* This is typically the case for debug situations. In that
|
||||
* case we can catch duplicate names easily.
|
||||
*/
|
||||
sysfs_remove_link(&slab_subsys.kobj, s->name);
|
||||
sysfs_remove_link(&slab_kset->kobj, s->name);
|
||||
name = s->name;
|
||||
} else {
|
||||
/*
|
||||
@ -4026,7 +4026,7 @@ static int sysfs_slab_add(struct kmem_cache *s)
|
||||
}
|
||||
|
||||
kobject_set_name(&s->kobj, name);
|
||||
s->kobj.kset = &slab_subsys;
|
||||
s->kobj.kset = slab_kset;
|
||||
s->kobj.ktype = &slab_ktype;
|
||||
kobject_init(&s->kobj);
|
||||
err = kobject_add(&s->kobj);
|
||||
@ -4071,9 +4071,8 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
|
||||
/*
|
||||
* If we have a leftover link then remove it.
|
||||
*/
|
||||
sysfs_remove_link(&slab_subsys.kobj, name);
|
||||
return sysfs_create_link(&slab_subsys.kobj,
|
||||
&s->kobj, name);
|
||||
sysfs_remove_link(&slab_kset->kobj, name);
|
||||
return sysfs_create_link(&slab_kset->kobj, &s->kobj, name);
|
||||
}
|
||||
|
||||
al = kmalloc(sizeof(struct saved_alias), GFP_KERNEL);
|
||||
@ -4092,8 +4091,8 @@ static int __init slab_sysfs_init(void)
|
||||
struct kmem_cache *s;
|
||||
int err;
|
||||
|
||||
err = subsystem_register(&slab_subsys);
|
||||
if (err) {
|
||||
slab_kset = kset_create_and_add("slab", &slab_uevent_ops, NULL);
|
||||
if (!slab_kset) {
|
||||
printk(KERN_ERR "Cannot register slab subsystem.\n");
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user