Merge tag 'md-3.9' of git://neil.brown.name/md
[firefly-linux-kernel-4.4.55.git] / drivers / md / Kconfig
index 9a10313d0670a01594f962732fc923470dbc6fbf..4d8d90b4fe7812ea5169619d3945b0722d46f1ec 100644 (file)
@@ -199,7 +199,7 @@ config DM_DEBUG
 
 config DM_BUFIO
        tristate
-       depends on BLK_DEV_DM && EXPERIMENTAL
+       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
@@ -207,7 +207,7 @@ config DM_BUFIO
 
 config DM_BIO_PRISON
        tristate
-       depends on BLK_DEV_DM && EXPERIMENTAL
+       depends on BLK_DEV_DM
        ---help---
         Some bio locking schemes used by other device-mapper targets
         including thin provisioning.
@@ -240,8 +240,8 @@ config DM_SNAPSHOT
          Allow volume managers to take writable snapshots of a device.
 
 config DM_THIN_PROVISIONING
-       tristate "Thin provisioning target (EXPERIMENTAL)"
-       depends on BLK_DEV_DM && EXPERIMENTAL
+       tristate "Thin provisioning target"
+       depends on BLK_DEV_DM
        select DM_PERSISTENT_DATA
        select DM_BIO_PRISON
        ---help---
@@ -257,6 +257,37 @@ config DM_DEBUG_BLOCK_STACK_TRACING
 
          If unsure, say N.
 
+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_MQ
+       tristate "MQ Cache Policy (EXPERIMENTAL)"
+       depends on DM_CACHE
+       default y
+       ---help---
+         A cache policy that uses a multiqueue ordered by recent hit
+         count to select which blocks should be promoted and demoted.
+         This is meant to be a general purpose policy.  It prioritises
+         reads over writes.
+
+config DM_CACHE_CLEANER
+       tristate "Cleaner Cache Policy (EXPERIMENTAL)"
+       depends on DM_CACHE
+       default y
+       ---help---
+         A simple cache policy that writes back all data to the
+         origin.  Used when decommissioning a dm-cache.
+
 config DM_MIRROR
        tristate "Mirror target"
        depends on BLK_DEV_DM
@@ -291,8 +322,8 @@ config DM_RAID
         in one of the available parity distribution methods.
 
 config DM_LOG_USERSPACE
-       tristate "Mirror userspace logging (EXPERIMENTAL)"
-       depends on DM_MIRROR && EXPERIMENTAL && NET
+       tristate "Mirror userspace logging"
+       depends on DM_MIRROR && NET
        select CONNECTOR
        ---help---
          The userspace logging module provides a mechanism for
@@ -339,8 +370,8 @@ config DM_MULTIPATH_ST
          If unsure, say N.
 
 config DM_DELAY
-       tristate "I/O delaying target (EXPERIMENTAL)"
-       depends on BLK_DEV_DM && EXPERIMENTAL
+       tristate "I/O delaying target"
+       depends on BLK_DEV_DM
        ---help---
        A target that delays reads and/or writes and can send
        them to different devices.  Useful for testing.
@@ -354,14 +385,14 @@ config DM_UEVENT
        Generate udev events for DM events.
 
 config DM_FLAKEY
-       tristate "Flakey target (EXPERIMENTAL)"
-       depends on BLK_DEV_DM && EXPERIMENTAL
+       tristate "Flakey target"
+       depends on BLK_DEV_DM
        ---help---
          A target that intermittently fails I/O for debugging purposes.
 
 config DM_VERITY
-       tristate "Verity target support (EXPERIMENTAL)"
-       depends on BLK_DEV_DM && EXPERIMENTAL
+       tristate "Verity target support"
+       depends on BLK_DEV_DM
        select CRYPTO
        select CRYPTO_HASH
        select DM_BUFIO