diff options
Diffstat (limited to 'drivers/md/Kconfig')
-rw-r--r-- | drivers/md/Kconfig | 154 |
1 files changed, 105 insertions, 49 deletions
diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig index d6d5ab23c088..998a5cfdbc4e 100644 --- a/drivers/md/Kconfig +++ b/drivers/md/Kconfig @@ -15,7 +15,8 @@ if MD config BLK_DEV_MD tristate "RAID support" - ---help--- + select BLOCK_HOLDER_DEPRECATED if SYSFS + 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 @@ -27,7 +28,7 @@ config BLK_DEV_MD More information about Software RAID on Linux is contained in the Software RAID mini-HOWTO, available from - <http://www.tldp.org/docs.html#howto>. There you will also learn + <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. @@ -36,7 +37,7 @@ config MD_AUTODETECT bool "Autodetect RAID arrays during kernel boot" depends on BLK_DEV_MD=y default y - ---help--- + help If you say Y here, then the kernel will try to autodetect raid arrays as part of its boot process. @@ -47,9 +48,9 @@ config MD_AUTODETECT If unsure, say Y. config MD_LINEAR - tristate "Linear (append) mode" + tristate "Linear (append) mode (deprecated)" depends on BLK_DEV_MD - ---help--- + 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. @@ -62,7 +63,7 @@ config MD_LINEAR config MD_RAID0 tristate "RAID-0 (striping) mode" depends on BLK_DEV_MD - ---help--- + 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 @@ -71,7 +72,7 @@ config MD_RAID0 Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from - <http://www.tldp.org/docs.html#howto>. There you will also + <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 @@ -82,7 +83,7 @@ config MD_RAID0 config MD_RAID1 tristate "RAID-1 (mirroring) mode" depends on BLK_DEV_MD - ---help--- + 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 @@ -93,7 +94,7 @@ config MD_RAID1 Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from - <http://www.tldp.org/docs.html#howto>. There you will also + <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 @@ -104,7 +105,7 @@ config MD_RAID1 config MD_RAID10 tristate "RAID-10 (mirrored striping) mode" depends on BLK_DEV_MD - ---help--- + help RAID-10 provides a combination of striping (RAID-0) and mirroring (RAID-1) with easier configuration and more flexible layout. @@ -129,7 +130,7 @@ config MD_RAID456 select ASYNC_XOR select ASYNC_PQ select ASYNC_RAID6_RECOV - ---help--- + 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 @@ -148,7 +149,7 @@ config MD_RAID456 Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from - <http://www.tldp.org/docs.html#howto>. There you will also + <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 @@ -158,7 +159,7 @@ config MD_RAID456 If unsure, say Y. config MD_MULTIPATH - tristate "Multipath I/O support" + tristate "Multipath I/O support (deprecated)" depends on BLK_DEV_MD help MD_MULTIPATH provides a simple multi-path personality for use @@ -169,7 +170,7 @@ config MD_MULTIPATH If unsure, say N. config MD_FAULTY - tristate "Faulty test module for MD" + tristate "Faulty test module for MD (deprecated)" depends on BLK_DEV_MD help The "faulty" module allows for a block device that occasionally returns @@ -183,7 +184,7 @@ config MD_CLUSTER depends on BLK_DEV_MD depends on DLM default n - ---help--- + 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. @@ -201,9 +202,11 @@ config BLK_DEV_DM_BUILTIN config BLK_DEV_DM tristate "Device mapper support" + select BLOCK_HOLDER_DEPRECATED if SYSFS select BLK_DEV_DM_BUILTIN + select BLK_MQ_STACKING depends on DAX || DAX=n - ---help--- + 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 @@ -219,7 +222,7 @@ config BLK_DEV_DM config DM_DEBUG bool "Device mapper debugging support" depends on BLK_DEV_DM - ---help--- + help Enable this for messages that may help debug device-mapper problems. If unsure, say N. @@ -227,7 +230,7 @@ config DM_DEBUG config DM_BUFIO tristate depends on BLK_DEV_DM - ---help--- + 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. @@ -235,7 +238,7 @@ config DM_BUFIO config DM_DEBUG_BLOCK_MANAGER_LOCKING bool "Block manager locking" depends on DM_BUFIO - ---help--- + help Block manager locking can catch various metadata corruption issues. If unsure, say N. @@ -244,7 +247,7 @@ 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--- + help Enable this for messages that may help debug problems with the block manager locking used by thin provisioning and caching. @@ -253,7 +256,7 @@ config DM_DEBUG_BLOCK_STACK_TRACING config DM_BIO_PRISON tristate depends on BLK_DEV_DM - ---help--- + help Some bio locking schemes used by other device-mapper targets including thin provisioning. @@ -262,17 +265,19 @@ source "drivers/md/persistent-data/Kconfig" config DM_UNSTRIPED tristate "Unstriped target" depends on BLK_DEV_DM - ---help--- + 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 CRYPTO select CRYPTO_CBC select CRYPTO_ESSIV - ---help--- + 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. @@ -289,7 +294,7 @@ config DM_SNAPSHOT tristate "Snapshot target" depends on BLK_DEV_DM select DM_BUFIO - ---help--- + help Allow volume managers to take writable snapshots of a device. config DM_THIN_PROVISIONING @@ -297,7 +302,7 @@ config DM_THIN_PROVISIONING depends on BLK_DEV_DM select DM_PERSISTENT_DATA select DM_BIO_PRISON - ---help--- + help Provides thin provisioning and snapshots that share a data store. config DM_CACHE @@ -306,7 +311,7 @@ config DM_CACHE default n select DM_PERSISTENT_DATA select DM_BIO_PRISON - ---help--- + 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 @@ -317,7 +322,7 @@ config DM_CACHE_SMQ tristate "Stochastic MQ Cache Policy (EXPERIMENTAL)" depends on DM_CACHE default y - ---help--- + 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 @@ -328,7 +333,7 @@ config DM_CACHE_SMQ config DM_WRITECACHE tristate "Writecache target" depends on BLK_DEV_DM - ---help--- + 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. @@ -336,13 +341,21 @@ config DM_WRITECACHE 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--- + help dm-era tracks which parts of a block device are written to over time. Useful for maintaining cache coherency when using vendor snapshots. @@ -352,7 +365,7 @@ config DM_CLONE depends on BLK_DEV_DM default n select DM_PERSISTENT_DATA - ---help--- + 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 @@ -364,7 +377,7 @@ config DM_CLONE config DM_MIRROR tristate "Mirror target" depends on BLK_DEV_DM - ---help--- + help Allow volume managers to mirror logical volumes, also needed for live data migration tools such as 'pvmove'. @@ -372,7 +385,7 @@ config DM_LOG_USERSPACE tristate "Mirror userspace logging" depends on DM_MIRROR && NET select CONNECTOR - ---help--- + 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. @@ -387,7 +400,7 @@ config DM_RAID select MD_RAID10 select MD_RAID456 select BLK_DEV_MD - ---help--- + 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 @@ -409,7 +422,7 @@ config DM_RAID config DM_ZERO tristate "Zero target" depends on BLK_DEV_DM - ---help--- + help A target that discards writes, and returns all zeroes for reads. Useful in some recovery situations. @@ -421,13 +434,13 @@ config DM_MULTIPATH # 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--- + 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--- + help This path selector is a dynamic load balancer which selects the path with the least number of in-flight I/Os. @@ -436,17 +449,37 @@ config DM_MULTIPATH_QL config DM_MULTIPATH_ST tristate "I/O Path Selector based on the service time" depends on DM_MULTIPATH - ---help--- + 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 + the path expected to complete the incoming I/O in the shortest + time by comparing estimated service time (based on historical + service time). + + If unsure, say N. + +config DM_MULTIPATH_IOA + tristate "I/O Path Selector based on CPU submission" + depends on DM_MULTIPATH + help + This path selector selects the path based on the CPU the IO is + executed on and the CPU to path mapping setup at path addition time. + + If unsure, say N. + config DM_DELAY tristate "I/O delaying target" depends on BLK_DEV_DM - ---help--- + help A target that delays reads and/or writes and can send them to different devices. Useful for testing. @@ -455,7 +488,7 @@ config DM_DELAY config DM_DUST tristate "Bad sector simulation target" depends on BLK_DEV_DM - ---help--- + help A target that simulates bad sector behavior. Useful for testing. @@ -464,7 +497,7 @@ config DM_DUST config DM_INIT bool "DM \"dm-mod.create=\" parameter support" depends on BLK_DEV_DM=y - ---help--- + help Enable "dm-mod.create=" parameter to create mapped devices at init time. This option is useful to allow mounting rootfs without requiring an initramfs. @@ -476,13 +509,13 @@ config DM_INIT config DM_UEVENT bool "DM uevents" depends on BLK_DEV_DM - ---help--- + help Generate udev events for DM events. config DM_FLAKEY tristate "Flakey target" depends on BLK_DEV_DM - ---help--- + help A target that intermittently fails I/O for debugging purposes. config DM_VERITY @@ -491,7 +524,7 @@ config DM_VERITY select CRYPTO select CRYPTO_HASH select DM_BUFIO - ---help--- + help This device-mapper target creates a read-only device that transparently validates the data on one underlying device against a pre-generated tree of cryptographic checksums stored on a second @@ -510,11 +543,22 @@ config DM_VERITY_VERIFY_ROOTHASH_SIG bool "Verity data device root hash signature verification support" depends on DM_VERITY select SYSTEM_DATA_VERIFICATION - help + help Add ability for dm-verity device to be validated if the pre-generated tree of cryptographic checksums passed has a pkcs#7 signature file that can validate the roothash of the tree. + By default, rely on the builtin trusted keyring. + + If unsure, say N. + +config DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING + bool "Verity data device root hash signature verification with secondary keyring" + depends on DM_VERITY_VERIFY_ROOTHASH_SIG + depends on SECONDARY_TRUSTED_KEYRING + help + Rely on the secondary trusted keyring to verify dm-verity signatures. + If unsure, say N. config DM_VERITY_FEC @@ -522,7 +566,7 @@ config DM_VERITY_FEC depends on DM_VERITY select REED_SOLOMON select REED_SOLOMON_DEC8 - ---help--- + help Add forward error correction support to dm-verity. This option makes it possible to use pre-generated error correction data to recover from corrupted blocks. @@ -532,7 +576,7 @@ config DM_VERITY_FEC config DM_SWITCH tristate "Switch target support (EXPERIMENTAL)" depends on BLK_DEV_DM - ---help--- + help This device-mapper target creates a device that supports an arbitrary mapping of fixed-size regions of I/O across a fixed set of paths. The path used for any specific region can be switched dynamically @@ -546,7 +590,7 @@ config DM_SWITCH config DM_LOG_WRITES tristate "Log writes target support" depends on BLK_DEV_DM - ---help--- + help This device-mapper target takes two devices, one device to use normally, one to log all write operations done to the first device. This is for use by file system developers wishing to verify that @@ -565,8 +609,10 @@ config DM_INTEGRITY select BLK_DEV_INTEGRITY select DM_BUFIO select CRYPTO + select CRYPTO_SKCIPHER select ASYNC_XOR - ---help--- + select DM_AUDIT if AUDIT + help This device-mapper target emulates a block device that has additional per-sector tags that can be used for storing integrity information. @@ -582,7 +628,8 @@ config DM_ZONED tristate "Drive-managed zoned block device target support" depends on BLK_DEV_DM depends on BLK_DEV_ZONED - ---help--- + select CRC32 + help This device-mapper target takes a host-managed or host-aware zoned block device and exposes most of its capacity as a regular block device (drive-managed zoned block device) without any write @@ -597,4 +644,13 @@ config DM_ZONED If unsure, say N. +config DM_AUDIT + bool "DM audit events" + depends on AUDIT + help + Generate audit events for device-mapper. + + Enables audit logging of several security relevant events in the + particular device-mapper targets, especially the integrity target. + endif # MD |