708 lines · 22.4 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0-only## Block device driver configuration# menuconfig MD	bool "Multiple devices driver support (RAID and LVM)"	depends on BLOCK	help	  Support multiple physical spindles through a single logical device.	  Required for RAID and logical volume management. if MD config BLK_DEV_MD	tristate "RAID support"	select BLOCK_HOLDER_DEPRECATED if SYSFS	select BUFFER_HEAD	# BLOCK_LEGACY_AUTOLOAD requirement should be removed	# after relevant mdadm enhancements - to make "names=yes"	# the default - are widely available.	select BLOCK_LEGACY_AUTOLOAD	help	  This driver lets you combine several hard disk partitions into one	  logical block device. This can be used to simply append one	  partition to another one or to combine several redundant hard disks	  into a RAID1/4/5 device so as to provide protection against hard	  disk failures. This is called "Software RAID" since the combining of	  the partitions is done by the kernel. "Hardware RAID" means that the	  combining is done by a dedicated controller; if you have such a	  controller, you do not need to say Y here. 	  More information about Software RAID on Linux is contained in the	  Software RAID mini-HOWTO, available from	  <https://www.tldp.org/docs.html#howto>. There you will also learn	  where to get the supporting user space utilities raidtools. 	  If unsure, say N. config MD_BITMAP	bool "MD RAID bitmap support"	default y	depends on BLK_DEV_MD	help	  If you say Y here, support for the write intent bitmap will be	  enabled. The bitmap can be used to optimize resync speed after power	  failure or readding a disk, limiting it to recorded dirty sectors in	  bitmap. 	  This feature can be added to existing MD array or MD array can be	  created with bitmap via mdadm(8). 	  If unsure, say Y. config MD_LLBITMAP	bool "MD RAID lockless bitmap support"	depends on BLK_DEV_MD	help	  If you say Y here, support for the lockless write intent bitmap will	  be enabled. 	  Note, this is an experimental feature. 	  If unsure, say N. config MD_AUTODETECT	bool "Autodetect RAID arrays during kernel boot"	depends on BLK_DEV_MD=y	default y	help	  If you say Y here, then the kernel will try to autodetect raid	  arrays as part of its boot process. 	  If you don't use raid and say Y, this autodetection can cause	  a several-second delay in the boot time due to various	  synchronisation steps that are part of this step. 	  If unsure, say Y. config MD_BITMAP_FILE	bool "MD bitmap file support (deprecated)"	default y	depends on MD_BITMAP	help	  If you say Y here, support for write intent bitmaps in files on an	  external file system is enabled.  This is an alternative to the internal	  bitmaps near the MD superblock, and very problematic code that abuses	  various kernel APIs and can only work with files on a file system not	  actually sitting on the MD device. config MD_LINEAR	tristate "Linear (append) mode"	depends on BLK_DEV_MD	help	  If you say Y here, then your multiple devices driver will be able to	  use the so-called linear mode, i.e. it will combine the hard disk	  partitions by simply appending one to the other. 	  To compile this as a module, choose M here: the module	  will be called linear. 	  If unsure, say Y. config MD_RAID0	tristate "RAID-0 (striping) mode"	depends on BLK_DEV_MD	help	  If you say Y here, then your multiple devices driver will be able to	  use the so-called raid0 mode, i.e. it will combine the hard disk	  partitions into one logical device in such a fashion as to fill them	  up evenly, one chunk here and one chunk there. This will increase	  the throughput rate if the partitions reside on distinct disks. 	  Information about Software RAID on Linux is contained in the	  Software-RAID mini-HOWTO, available from	  <https://www.tldp.org/docs.html#howto>. There you will also	  learn where to get the supporting user space utilities raidtools. 	  To compile this as a module, choose M here: the module	  will be called raid0. 	  If unsure, say Y. config MD_RAID1	tristate "RAID-1 (mirroring) mode"	depends on BLK_DEV_MD	help	  A RAID-1 set consists of several disk drives which are exact copies	  of each other.  In the event of a mirror failure, the RAID driver	  will continue to use the operational mirrors in the set, providing	  an error free MD (multiple device) to the higher levels of the	  kernel.  In a set with N drives, the available space is the capacity	  of a single drive, and the set protects against a failure of (N - 1)	  drives. 	  Information about Software RAID on Linux is contained in the	  Software-RAID mini-HOWTO, available from	  <https://www.tldp.org/docs.html#howto>.  There you will also	  learn where to get the supporting user space utilities raidtools. 	  If you want to use such a RAID-1 set, say Y.  To compile this code	  as a module, choose M here: the module will be called raid1. 	  If unsure, say Y. config MD_RAID10	tristate "RAID-10 (mirrored striping) mode"	depends on BLK_DEV_MD	help	  RAID-10 provides a combination of striping (RAID-0) and	  mirroring (RAID-1) with easier configuration and more flexible	  layout.	  Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to	  be the same size (or at least, only as much as the smallest device	  will be used).	  RAID-10 provides a variety of layouts that provide different levels	  of redundancy and performance. 	  RAID-10 requires mdadm-1.7.0 or later, available at: 	  https://www.kernel.org/pub/linux/utils/raid/mdadm/ 	  If unsure, say Y. config MD_RAID456	tristate "RAID-4/RAID-5/RAID-6 mode"	depends on BLK_DEV_MD	select RAID6_PQ	select CRC32	select ASYNC_MEMCPY	select ASYNC_XOR	select ASYNC_PQ	select ASYNC_RAID6_RECOV	help	  A RAID-5 set of N drives with a capacity of C MB per drive provides	  the capacity of C * (N - 1) MB, and protects against a failure	  of a single drive. For a given sector (row) number, (N - 1) drives	  contain data sectors, and one drive contains the parity protection.	  For a RAID-4 set, the parity blocks are present on a single drive,	  while a RAID-5 set distributes the parity across the drives in one	  of the available parity distribution methods. 	  A RAID-6 set of N drives with a capacity of C MB per drive	  provides the capacity of C * (N - 2) MB, and protects	  against a failure of any two drives. For a given sector	  (row) number, (N - 2) drives contain data sectors, and two	  drives contains two independent redundancy syndromes.  Like	  RAID-5, RAID-6 distributes the syndromes across the drives	  in one of the available parity distribution methods. 	  Information about Software RAID on Linux is contained in the	  Software-RAID mini-HOWTO, available from	  <https://www.tldp.org/docs.html#howto>. There you will also	  learn where to get the supporting user space utilities raidtools. 	  If you want to use such a RAID-4/RAID-5/RAID-6 set, say Y.  To	  compile this code as a module, choose M here: the module	  will be called raid456. 	  If unsure, say Y. config MD_CLUSTER	tristate "Cluster Support for MD"	select MD_BITMAP	depends on BLK_DEV_MD	depends on DLM	default n	help	Clustering support for MD devices. This enables locking and	synchronization across multiple systems on the cluster, so all	nodes in the cluster can access the MD devices simultaneously. 	This brings the redundancy (and uptime) of RAID levels across the	nodes of the cluster. Currently, it can work with raid1 and raid10	(limited support). 	If unsure, say N. source "drivers/md/bcache/Kconfig" config BLK_DEV_DM_BUILTIN	bool config BLK_DEV_DM	tristate "Device mapper support"	select BLOCK_HOLDER_DEPRECATED if SYSFS	select BLK_DEV_DM_BUILTIN	select BLK_MQ_STACKING	select CRYPTO_LIB_SHA256 if IMA	depends on DAX || DAX=n	help	  Device-mapper is a low level volume manager.  It works by allowing	  people to specify mappings for ranges of logical sectors.  Various	  mapping types are available, in addition people may write their own	  modules containing custom mappings if they wish. 	  Higher level volume managers such as LVM2 use this driver. 	  To compile this as a module, choose M here: the module will be	  called dm-mod. 	  If unsure, say N. config DM_DEBUG	bool "Device mapper debugging support"	depends on BLK_DEV_DM	help	  Enable this for messages that may help debug device-mapper problems. 	  If unsure, say N. config DM_BUFIO       tristate       depends on BLK_DEV_DM	help	 This interface allows you to do buffered I/O on a device and acts	 as a cache, holding recently-read blocks in memory and performing	 delayed writes. config DM_DEBUG_BLOCK_MANAGER_LOCKING       bool "Block manager locking"       depends on DM_BUFIO	help	 Block manager locking can catch various metadata corruption issues. 	 If unsure, say N. config DM_DEBUG_BLOCK_STACK_TRACING       bool "Keep stack trace of persistent data block lock holders"       depends on STACKTRACE_SUPPORT && DM_DEBUG_BLOCK_MANAGER_LOCKING       select STACKTRACE	help	 Enable this for messages that may help debug problems with the	 block manager locking used by thin provisioning and caching. 	 If unsure, say N. config DM_BIO_PRISON       tristate       depends on BLK_DEV_DM	help	 Some bio locking schemes used by other device-mapper targets	 including thin provisioning. source "drivers/md/persistent-data/Kconfig" config DM_UNSTRIPED       tristate "Unstriped target"       depends on BLK_DEV_DM	help	  Unstripes I/O so it is issued solely on a single drive in a HW	  RAID0 or dm-striped target. config DM_CRYPT	tristate "Crypt target support"	depends on BLK_DEV_DM	depends on (ENCRYPTED_KEYS || ENCRYPTED_KEYS=n)	depends on (TRUSTED_KEYS || TRUSTED_KEYS=n)	select CRC32	select CRYPTO	select CRYPTO_CBC	select CRYPTO_ESSIV	select CRYPTO_LIB_AES	select CRYPTO_LIB_MD5 # needed by lmk IV mode	help	  This device-mapper target allows you to create a device that	  transparently encrypts the data on it. You'll need to activate	  the ciphers you're going to use in the cryptoapi configuration. 	  For further information on dm-crypt and userspace tools see:	  <https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt> 	  To compile this code as a module, choose M here: the module will	  be called dm-crypt. 	  If unsure, say N. config DM_INLINECRYPT	tristate "Inline encryption target support"	depends on BLK_DEV_DM	depends on (KEYS || KEYS=n)	depends on BLK_INLINE_ENCRYPTION	help	  This device-mapper target is similar to dm-crypt, but it uses the	  blk-crypto API instead of the regular crypto API. This allows it to	  take advantage of inline encryption hardware such as that commonly	  built into UFS host controllers. config DM_SNAPSHOT       tristate "Snapshot target"       depends on BLK_DEV_DM       select DM_BUFIO	help	 Allow volume managers to take writable snapshots of a device. config DM_THIN_PROVISIONING       tristate "Thin provisioning target"       depends on BLK_DEV_DM       select DM_PERSISTENT_DATA       select DM_BIO_PRISON	help	 Provides thin provisioning and snapshots that share a data store. config DM_CACHE       tristate "Cache target (EXPERIMENTAL)"       depends on BLK_DEV_DM       default n       select DM_PERSISTENT_DATA       select DM_BIO_PRISON	help	 dm-cache attempts to improve performance of a block device by	 moving frequently used data to a smaller, higher performance	 device.  Different 'policy' plugins can be used to change the	 algorithms used to select which blocks are promoted, demoted,	 cleaned etc.  It supports writeback and writethrough modes. config DM_CACHE_SMQ       tristate "Stochastic MQ Cache Policy (EXPERIMENTAL)"       depends on DM_CACHE       default y	help	 A cache policy that uses a multiqueue ordered by recent hits	 to select which blocks should be promoted and demoted.	 This is meant to be a general purpose policy.  It prioritises	 reads over writes.  This SMQ policy (vs MQ) offers the promise	 of less memory utilization, improved performance and increased	 adaptability in the face of changing workloads. config DM_WRITECACHE	tristate "Writecache target"	depends on BLK_DEV_DM	help	   The writecache target caches writes on persistent memory or SSD.	   It is intended for databases or other programs that need extremely	   low commit latency. 	   The writecache target doesn't cache reads because reads are supposed	   to be cached in standard RAM. config DM_EBS	tristate "Emulated block size target (EXPERIMENTAL)"	depends on BLK_DEV_DM && !HIGHMEM	select DM_BUFIO	help	  dm-ebs emulates smaller logical block size on backing devices	  with larger ones (e.g. 512 byte sectors on 4K native disks). config DM_ERA       tristate "Era target (EXPERIMENTAL)"       depends on BLK_DEV_DM       default n       select DM_PERSISTENT_DATA       select DM_BIO_PRISON	help	 dm-era tracks which parts of a block device are written to	 over time.  Useful for maintaining cache coherency when using	 vendor snapshots. config DM_CLONE       tristate "Clone target (EXPERIMENTAL)"       depends on BLK_DEV_DM       default n       select DM_PERSISTENT_DATA	help	 dm-clone produces a one-to-one copy of an existing, read-only source	 device into a writable destination device. The cloned device is	 visible/mountable immediately and the copy of the source device to the	 destination device happens in the background, in parallel with user	 I/O. 	 If unsure, say N. config DM_MIRROR       tristate "Mirror target"       depends on BLK_DEV_DM	help	 Allow volume managers to mirror logical volumes, also	 needed for live data migration tools such as 'pvmove'. config DM_LOG_USERSPACE	tristate "Mirror userspace logging"	depends on DM_MIRROR && NET	select CONNECTOR	help	  The userspace logging module provides a mechanism for	  relaying the dm-dirty-log API to userspace.  Log designs	  which are more suited to userspace implementation (e.g.	  shared storage logs) or experimental logs can be implemented	  by leveraging this framework. config DM_RAID       tristate "RAID 1/4/5/6/10 target"       depends on BLK_DEV_DM       select MD_RAID0       select MD_RAID1       select MD_RAID10       select MD_RAID456       select MD_BITMAP       select BLK_DEV_MD	help	 A dm target that supports RAID1, RAID10, RAID4, RAID5 and RAID6 mappings 	 A RAID-5 set of N drives with a capacity of C MB per drive provides	 the capacity of C * (N - 1) MB, and protects against a failure	 of a single drive. For a given sector (row) number, (N - 1) drives	 contain data sectors, and one drive contains the parity protection.	 For a RAID-4 set, the parity blocks are present on a single drive,	 while a RAID-5 set distributes the parity across the drives in one	 of the available parity distribution methods. 	 A RAID-6 set of N drives with a capacity of C MB per drive	 provides the capacity of C * (N - 2) MB, and protects	 against a failure of any two drives. For a given sector	 (row) number, (N - 2) drives contain data sectors, and two	 drives contains two independent redundancy syndromes.  Like	 RAID-5, RAID-6 distributes the syndromes across the drives	 in one of the available parity distribution methods. config DM_ZERO	tristate "Zero target"	depends on BLK_DEV_DM	help	  A target that discards writes, and returns all zeroes for	  reads.  Useful in some recovery situations. config DM_MULTIPATH	tristate "Multipath target"	depends on BLK_DEV_DM	# nasty syntax but means make DM_MULTIPATH independent	# of SCSI_DH if the latter isn't defined but if	# it is, DM_MULTIPATH must depend on it.  We get a build	# error if SCSI_DH=m and DM_MULTIPATH=y	depends on !SCSI_DH || SCSI	help	  Allow volume managers to support multipath hardware. config DM_MULTIPATH_QL	tristate "I/O Path Selector based on the number of in-flight I/Os"	depends on DM_MULTIPATH	help	  This path selector is a dynamic load balancer which selects	  the path with the least number of in-flight I/Os. 	  If unsure, say N. config DM_MULTIPATH_ST	tristate "I/O Path Selector based on the service time"	depends on DM_MULTIPATH	help	  This path selector is a dynamic load balancer which selects	  the path expected to complete the incoming I/O in the shortest	  time. 	  If unsure, say N. config DM_MULTIPATH_HST	tristate "I/O Path Selector based on historical service time"	depends on DM_MULTIPATH	help	  This path selector is a dynamic load balancer which selects

Lines 1–500 of 708.