|
@@ -2095,6 +2095,7 @@ static void bcache_exit(void)
|
|
|
if (bcache_major)
|
|
|
unregister_blkdev(bcache_major, "bcache");
|
|
|
unregister_reboot_notifier(&reboot);
|
|
|
+ mutex_destroy(&bch_register_lock);
|
|
|
}
|
|
|
|
|
|
static int __init bcache_init(void)
|
|
@@ -2113,14 +2114,15 @@ static int __init bcache_init(void)
|
|
|
bcache_major = register_blkdev(0, "bcache");
|
|
|
if (bcache_major < 0) {
|
|
|
unregister_reboot_notifier(&reboot);
|
|
|
+ mutex_destroy(&bch_register_lock);
|
|
|
return bcache_major;
|
|
|
}
|
|
|
|
|
|
if (!(bcache_wq = alloc_workqueue("bcache", WQ_MEM_RECLAIM, 0)) ||
|
|
|
!(bcache_kobj = kobject_create_and_add("bcache", fs_kobj)) ||
|
|
|
- sysfs_create_files(bcache_kobj, files) ||
|
|
|
bch_request_init() ||
|
|
|
- bch_debug_init(bcache_kobj))
|
|
|
+ bch_debug_init(bcache_kobj) ||
|
|
|
+ sysfs_create_files(bcache_kobj, files))
|
|
|
goto err;
|
|
|
|
|
|
return 0;
|