#ifdef CONFIG_BCACHE_EDEBUG
bug:
mutex_unlock(&b->c->bucket_lock);
- btree_bug(b, "inconsistent pointer %s: bucket %li pin %i "
+ btree_bug(b, "inconsistent pointer %s: bucket %zu pin %i "
"prio %i gen %i last_gc %i mark %llu gc_gen %i", pkey(k),
PTR_BUCKET_NR(b->c, k, i), atomic_read(&g->pin),
g->prio, g->gen, g->last_gc, GC_MARK(g), g->gc_gen);
closure_return(cl);
err:
set_btree_node_io_error(b);
- bch_cache_set_error(b->c, "%s at bucket %lu, block %zu, %u keys",
+ bch_cache_set_error(b->c, "%s at bucket %zu, block %zu, %u keys",
err, PTR_BUCKET_NR(b->c, &b->key, 0),
index(i, b), i->keys);
goto out;
.release = single_release
};
-int __init closure_debug_init(void)
+void __init closure_debug_init(void)
{
debug = debugfs_create_file("closures", 0400, NULL, NULL, &debug_ops);
return 0;
}
-module_init(closure_debug_init);
-
#endif
MODULE_AUTHOR("Kent Overstreet <koverstreet@google.com>");
#ifdef CONFIG_BCACHE_CLOSURES_DEBUG
+void closure_debug_init(void);
void closure_debug_create(struct closure *cl);
void closure_debug_destroy(struct closure *cl);
#else
+static inline void closure_debug_init(void) {}
static inline void closure_debug_create(struct closure *cl) {}
static inline void closure_debug_destroy(struct closure *cl) {}
mutex_init(&bch_register_lock);
init_waitqueue_head(&unregister_wait);
register_reboot_notifier(&reboot);
+ closure_debug_init();
bcache_major = register_blkdev(0, "bcache");
if (bcache_major < 0)