Skip to content
Branch: master
Find file History
Mikulas Patocka and snitm dm integrity: add a bitmap mode
Introduce an alternate mode of operation where dm-integrity uses a
bitmap instead of a journal. If a bit in the bitmap is 1, the
corresponding region's data and integrity tags are not synchronized - if
the machine crashes, the unsynchronized regions will be recalculated.
The bitmap mode is faster than the journal mode, because we don't have
to write the data twice, but it is also less reliable, because if data
corruption happens when the machine crashes, it may not be detected.

Benchmark results for an SSD connected to a SATA300 port, when doing
large linear writes with dd:

buffered I/O:
        raw device throughput - 245MB/s
        dm-integrity with journaling - 120MB/s
        dm-integrity with bitmap - 238MB/s

direct I/O with 1MB block size:
        raw device throughput - 248MB/s
        dm-integrity with journaling - 123MB/s
        dm-integrity with bitmap - 223MB/s

For more info see dm-integrity in Documentation/device-mapper/

Signed-off-by: Mikulas Patocka <>
Signed-off-by: Mike Snitzer <>
Latest commit 468dfca Apr 29, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
cache-policies.txt dm cache: fix grammar in cache-policies.txt Jan 17, 2018
cache.txt dm cache: add support for discard passdown to the origin device Mar 5, 2019
delay.txt dm delay: add flush as a third class of IO Jul 27, 2018
dm-crypt.txt dm crypt: optionally support larger encryption sector size Mar 24, 2017
dm-dust.txt dm: add dust target Apr 30, 2019
dm-flakey.txt dm flakey: Document "error_writes" feature Oct 12, 2018
dm-init.txt dm: add support to directly boot to a mapped device Mar 5, 2019
dm-integrity.txt dm integrity: add a bitmap mode May 8, 2019
dm-io.txt Linux-2.6.12-rc2 Apr 16, 2005
dm-log.txt dm log userspace: fix comment hyphens Oct 31, 2011
dm-queue-length.txt dm mpath: add queue length load balancer Jun 22, 2009
dm-raid.txt Documentation: Use "while" instead of "whilst" Nov 20, 2018
dm-service-time.txt Fix common misspellings Mar 31, 2011
dm-uevent.txt dm: uevent generate events Oct 20, 2007
dm-zoned.txt dm zoned: drive-managed zoned block device target Jun 19, 2017
era.txt dm: add era target Mar 27, 2014
kcopyd.txt Linux-2.6.12-rc2 Apr 16, 2005
linear.txt Documentation/device-mapper: s/getsize/getsz/ Dec 14, 2016
log-writes.txt block: Finish renaming REQ_DISCARD into REQ_OP_DISCARD Oct 3, 2018
persistent-data.txt Documentation: Fix multiple typo in Documentation Mar 7, 2012
snapshot.txt dm snapshot: improve documentation relative to origin suspend require… Jan 17, 2018
statistics.txt dm stats: fix spelling mistake in Documentation May 5, 2016
striped.txt Documentation/device-mapper: s/getsize/getsz/ Dec 14, 2016
switch.txt Documentation/device-mapper: s/getsize/getsz/ Dec 14, 2016
thin-provisioning.txt dm thin: include metadata_low_watermark threshold in pool status Jul 30, 2018
unstriped.txt dm: add unstriped target Jan 17, 2018
verity.txt dm verity: add 'check_at_most_once' option to only validate hashes once Apr 3, 2018
writecache.txt dm writecache: support optional offset for start of device Jul 2, 2018
zero.txt Linux-2.6.12-rc2 Apr 16, 2005
You can’t perform that action at this time.