# SPDX-License-Identifier: GPL-2.0-only
config AFS_FS
	tristate "Andrew File System support (AFS)"
	depends on INET
	select AF_RXRPC
	select DNS_RESOLVER
	help
	  If you say Y here, you will get an experimental Andrew File System
	  driver. It currently only supports unsecured read-only AFS access.

	  See <file:Documentation/filesystems/afs.txt> for more information.

	  If unsure, say N.

config AFS_DEBUG
	bool "AFS dynamic debugging"
	depends on AFS_FS
	help
	  Say Y here to make runtime controllable debugging messages appear.

	  See <file:Documentation/filesystems/afs.txt> for more information.

	  If unsure, say N.

config AFS_FSCACHE
	bool "Provide AFS client caching support"
	depends on AFS_FS=m && FSCACHE || AFS_FS=y && FSCACHE=y
	help
	  Say Y here if you want AFS data to be cached locally on disk through
	  the generic filesystem cache manager

config AFS_DEBUG_CURSOR
	bool "AFS server cursor debugging"
	depends on AFS_FS
	help
	  Say Y here to cause the contents of a server cursor to be dumped to
	  the dmesg log if the server rotation algorithm fails to successfully
	  contact a server.

	  See <file:Documentation/filesystems/afs.txt> for more information.

	  If unsure, say N.
