Ejemplo n.º 1
0
static int __init configfs_init(void)
{
	int err = -ENOMEM;

	configfs_dir_cachep = kmem_cache_create("configfs_dir_cache",
						sizeof(struct configfs_dirent),
						0, 0, NULL);
	if (!configfs_dir_cachep)
		goto out;

	config_kobj = kobject_create_and_add("config", kernel_kobj);
	if (!config_kobj)
		goto out2;

	err = configfs_inode_init();
	if (err)
		goto out3;

	err = register_filesystem(&configfs_fs_type);
	if (err)
		goto out4;

	return 0;
out4:
	printk(KERN_ERR "configfs: Unable to register filesystem!\n");
	configfs_inode_exit();
out3:
	kobject_put(config_kobj);
out2:
	kmem_cache_destroy(configfs_dir_cachep);
	configfs_dir_cachep = NULL;
out:
	return err;
}
Ejemplo n.º 2
0
static void __exit configfs_exit(void)
{
	unregister_filesystem(&configfs_fs_type);
	kobject_put(config_kobj);
	kmem_cache_destroy(configfs_dir_cachep);
	configfs_dir_cachep = NULL;
	configfs_inode_exit();
}