# SPDX-License-Identifier: GPL-2.0-only

config BCACHE
	tristate "Block device as cache"
	select BLOCK_HOLDER_DEPRECATED if SYSFS
	select CRC64
	help
	Allows a block device to be used as cache for other devices; uses
	a btree for indexing and the layout is optimized for SSDs.

	See Documentation/admin-guide/bcache.rst for details.

config BCACHE_DEBUG
	bool "Bcache debugging"
	depends on BCACHE
	help
	Don't select this option unless you're a developer

	Enables extra debugging tools, allows expensive runtime checks to be
	turned on.

config BCACHE_CLOSURES_DEBUG
	bool "Debug closures"
	depends on BCACHE
	select DEBUG_FS
	help
	Keeps all active closures in a linked list and provides a debugfs
	interface to list them, which makes it possible to see asynchronous
	operations that get stuck.

config BCACHE_ASYNC_REGISTRATION
	bool "Asynchronous device registration"
	depends on BCACHE
	help
	Add a sysfs file /sys/fs/bcache/register_async. Writing registering
	device path into this file will returns immediately and the real
	registration work is handled in kernel work queue in asynchronous
	way.